{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":191744942,"defaultBranch":"master","name":"Shadow","ownerLogin":"Tencent","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-06-13T10:50:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/18461506?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1651905006.8314161","currentOid":""},"activityList":{"items":[{"before":"59b9c7991b564cd4ee72d57837fafeed2d59cdb0","after":"0d17160fc6a939a7d471c58d295c71653bd23249","ref":"refs/heads/master","pushedAt":"2024-04-28T10:06:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"build(core.gradle-plugin): Maven发布添加Plugin Marker构件\n\n便于插件工程以Gradle更新的plugins id语法引入插件。\nplugins {\n id 'com.tencent.shadow.plugin'\n}","shortMessageHtmlLink":"build(core.gradle-plugin): Maven发布添加Plugin Marker构件"}},{"before":"2ce8fac41175be79c35fb49a28d06e82a255f613","after":"59b9c7991b564cd4ee72d57837fafeed2d59cdb0","ref":"refs/heads/master","pushedAt":"2024-04-22T08:59:11.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"docs: 添加执行单个自动化测试的命令\n\n#1263","shortMessageHtmlLink":"docs: 添加执行单个自动化测试的命令"}},{"before":"4880701cbf7ea652d4e20abc7b81c16df63057af","after":"2ce8fac41175be79c35fb49a28d06e82a255f613","ref":"refs/heads/master","pushedAt":"2024-04-22T07:11:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix(core.gradle-plugin): 替换在AGP 8.0+中被去掉的接口调用\n\n由于兼容性测试此前没有测试packagePlugin部分,导致此问题没有及时暴露。\n此提交同时补充了兼容性测试。\n\n更新AGP兼容性测试到8.4.0-rc02版本。\n\nfix #1306","shortMessageHtmlLink":"fix(core.gradle-plugin): 替换在AGP 8.0+中被去掉的接口调用"}},{"before":"d9deb2f5da99091409be0e5e2fa718db57dff2bd","after":"4880701cbf7ea652d4e20abc7b81c16df63057af","ref":"refs/heads/master","pushedAt":"2023-12-20T00:55:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix(dynamic.apk): ChangeApkContextWrapper的Theme应该克隆BaseContext\n\n模仿ContextThemeWrapper的做法。\n否则Android内置的View,如ProgressBar在从Theme.obtainStyledAttributes\n时会获取不到自己的资源。\n\nfix #1271","shortMessageHtmlLink":"fix(dynamic.apk): ChangeApkContextWrapper的Theme应该克隆BaseContext"}},{"before":"8bac29964be656601866cb851920f0661510086c","after":"d9deb2f5da99091409be0e5e2fa718db57dff2bd","ref":"refs/heads/master","pushedAt":"2023-12-12T08:19:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix(core.transform-kit): 检查缺少方法时先看旧类是否有实现\n\n典型的场景应该是androidx等库对新版本Android SDK新增API的依赖非常及时,\n但这些依赖并不总是有用。在低版本Android SDK上编译时,新增API不存在对\n这些库实际上没有影响。\n\n我们检查替换类名时也应该先看看原先依赖的方法是否能找到。如果本来就找不到,\n那我们的新类也没必要一定实现缺失的方法。\n\n#1251","shortMessageHtmlLink":"fix(core.transform-kit): 检查缺少方法时先看旧类是否有实现"}},{"before":"34eb796a1e999f5fe6d1e97c311343ce43b23e9e","after":"8bac29964be656601866cb851920f0661510086c","ref":"refs/heads/master","pushedAt":"2023-12-05T12:27:26.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"feat(core): 支持AGP 8.0+所需的新版Transform API\n\nGradleTransformWrapper对接新版API实现的是最基本的全量输入和输出功能。\n没有实现增量编辑的能力,也没有对齐旧版API中在getSecondaryFiles中将自身代码加入,\n以便开发中更新transform代码可触发重新执行transform。\n因此使用GradleTransformWrapper开发transform时可能需要手动clean。\n\nShadowPlugin加入了hasDeprecatedTransformApi检测,\n只在判断出AGP主版本号大于等于8时才会应用GradleTransformWrapper。\n\n增加了projects/test/gradle-plugin-agp-compat-test中对AGP 8.0+已知版本的自动化测试。\n\nresolve #1212","shortMessageHtmlLink":"feat(core): 支持AGP 8.0+所需的新版Transform API"}},{"before":"a8ca3f29e707b82568c0fd7d0dda7a3981554d10","after":"34eb796a1e999f5fe6d1e97c311343ce43b23e9e","ref":"refs/heads/master","pushedAt":"2023-11-28T06:30:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix(core.manager): 修复deleteInstalledPlugin方法调用结果总是返回false\n\nnote:增加一个删除方法,如果有子目录则先删除子目录下的文件\n\nfix #1140","shortMessageHtmlLink":"fix(core.manager): 修复deleteInstalledPlugin方法调用结果总是返回false"}},{"before":"a7de6d13e342009cd368c95477e23d24d6997ebe","after":"a8ca3f29e707b82568c0fd7d0dda7a3981554d10","ref":"refs/heads/master","pushedAt":"2023-11-28T02:34:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"feat: Support screen orientation in plugin's AndroidManifest\n\n判断requestedOrientation和插件manifest中不一致时主动设置它","shortMessageHtmlLink":"feat: Support screen orientation in plugin's AndroidManifest"}},{"before":"d1457e460268dc5672fa8a88a9dee3f80cd28d00","after":"a7de6d13e342009cd368c95477e23d24d6997ebe","ref":"refs/heads/master","pushedAt":"2023-08-31T12:16:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix: 兼容AGP 7.4.1\n\n漏了在pom中声明json-simple的依赖。\n升级AGP后没有传递来的依赖就找不到类了。","shortMessageHtmlLink":"fix: 兼容AGP 7.4.1"}},{"before":"b3b43a07e9b5e43f8660c891ff3425399a478b4a","after":"d1457e460268dc5672fa8a88a9dee3f80cd28d00","ref":"refs/heads/master","pushedAt":"2023-04-20T08:11:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix(core.gradle-plugin): 兼容更高版本cmdline-tools中apkanalyzer文件名变更\n\n看起来只是在cmdline-tools 2.0版本升级中,把这些java lib的jar文件名都加了\n-classpath后缀。\n\nfix #1179","shortMessageHtmlLink":"fix(core.gradle-plugin): 兼容更高版本cmdline-tools中apkanalyzer文件名变更"}},{"before":"18c718ea9689160949beb411596f7c37749e49f9","after":"b3b43a07e9b5e43f8660c891ff3425399a478b4a","ref":"refs/heads/master","pushedAt":"2023-04-18T12:12:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"test(sample): sample中插件进程不该重复执行主进程才该执行的初始化流程\n\n#1169","shortMessageHtmlLink":"test(sample): sample中插件进程不该重复执行主进程才该执行的初始化流程"}},{"before":"9c80fa70cee228ad692645b0ca376f45720d8bef","after":"18c718ea9689160949beb411596f7c37749e49f9","ref":"refs/heads/master","pushedAt":"2023-04-18T11:08:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix(core.transform): 识别实现了onReceive方法的类时,排除静态内部类\n\n静态内部类getDeclaredMethod时能获取到父类定义的方法,\n但它带有Volatile标志位。","shortMessageHtmlLink":"fix(core.transform): 识别实现了onReceive方法的类时,排除静态内部类"}},{"before":"4b3f23de989e2a6da01e64f87c112e682baac1bd","after":"9c80fa70cee228ad692645b0ca376f45720d8bef","ref":"refs/heads/master","pushedAt":"2023-04-18T08:31:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix: Fragment.getActivity() NullPointerException","shortMessageHtmlLink":"fix: Fragment.getActivity() NullPointerException"}},{"before":"a30a15c9755ef6502f8486778188b9ad5b2b4490","after":"4b3f23de989e2a6da01e64f87c112e682baac1bd","ref":"refs/heads/master","pushedAt":"2023-04-18T05:37:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shifujun","name":null,"path":"/shifujun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3535204?s=80&v=4"},"commit":{"message":"fix(core): ShadowWebView init时应避免调用子类setWebViewClient实现\n\nnote:init时调用setWebViewClient是为了应对业务代码从来没有调用setWebViewClient的场景。\n\nfix #1175","shortMessageHtmlLink":"fix(core): ShadowWebView init时应避免调用子类setWebViewClient实现"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPDRG6QA","startCursor":null,"endCursor":null}},"title":"Activity · Tencent/Shadow"}