Releases: Tencent/Shadow
Releases · Tencent/Shadow
2.1.2
通过cherry-pick向2.1.1版本补充两个bug fix。
Full Changelog: 2.1.1...2.1.2
2.3.0
What's Changed
Bug Fixes
- coding.code-generator: PluginActivity声明ComponentCallbacks2接口 3d8a6d9
- core.gradle-plugin: 修复AGP 3.1.0及更高版本的兼容性 5a3227b, closes #757
- core.gradle-plugin: 支持从低版本AGP中获取Manifest b040630, closes #747
- core.loader: ShadowApplication初始化setShadowApplication 5b95a0a
- core.manager: 查询最新安装的插件时以改为自增ID为依据 bb5dd60
- core.manager: 判断zip插件包是否已解压时不再依赖tag文件 522071a, closes #691
- core.manager: 修复插件解压so的错误逻辑 307800c, closes #724 #729
- core.manager: API 26保留odex过程 6895eef, closes #828
- core.manager: partKey不正确时及时抛出异常 4a2542d, closes #114
- core.runtime: 修复Receiver的actions为空的NPE 68d54d9, closes #755
- core.runtime: ActivityLifecycleCallbacks与其Wrapper映射Map采用弱引用实现 bbf317f
- core.runtime: BroadcastReceiver与BroadcastReceiverWapper映射Map采用弱引用实现 d2f3995
- core.runtime: ReceiverWrapperMap改为由ShadowApplication持有的单例 061e4aa, closes #865
- core.transform-kit: 忽略根目录的module-info.class cecc4ce, closes #704
Features
- 升级compileSdkVersion到31 72ce18c, closes #868
- 支持消费Shadow时使用Gradle 7.2与AGP 7.1.1 1caa475, closes #799
- core.gradle-plugin: 不再需要设置apkName d0d0b92, closes #725
- core.gradle-plugin: 当Shadow dimension被覆盖时报错提示 3283216, closes #811 #871
- core.gradle-plugin: 对kotlin-android插件应用顺序要求作出提示 669f8b5, closes #745
- core.loader: 从宿主复制PackageInfo.permission到插件 7d99d76, closes #824
- core.loader: 找不到PluginManifest时提示应用插件 445f4d9, closes #734
- core.loader: 支持Context.getPackageCodePath 50678f5, closes #816
- core.manager: 固定getAbi实现 97b1d84
- core.manager: 支持extractNativeLibs="false"时不解压so b4dc172, closes #739
- core.manager: API 26以上跳过odex相关逻辑 f777cae
- core.manifest-parser: 实现编译期解析插件Manifest生成java类 8a99c4f, closes #696
- core: 支持插件ProviderInfo读取grantUriPermissions字段 11a71f0
- core: 支持PackageManager#getProviderInfo方法 e41153d
- dynamic-loader-impl: PluginLoader接口支持跨进程抛出异常 d26ced6, closes #802
Performance Improvements
New Contributors
- @TestPlanB made their first contribution in #737
- @SpaceQ-Z made their first contribution in #862
Full Changelog: 2.2.1...2.3.0
2.2.1
2021-11-18
Build System / Dependencies
- 去掉对ANDROID_HOME环境变量的依赖 (f80ece3)
- 去掉所有jar-wrapper工程 (089e026)
- 添加CommonAarSettingsPlugin (c639945)
- 添加AarToJarPlugin (bf33970)
- 升级Gradle到7.0.2,AGP到7.0.3,kotlin到1.5.31 (87ba969)
Chores
New Features
- core.gradle-plugin: 自动创建Flavor,并只在plugin上应用Transform (e38755e)
- 从AndroidManifest中解析Receiver的action信息 (d27e984)
- 支持NativeActivity (b3c9a9e)
- core: support PackageManager getServiceInfo and resolveService (cf8a22f)
- core.transform: ShadowTransform声明为支持build cache (7aa65f7)
Bug Fixes
- core:
- transform-kit: debugWriteJar时忽略META-INF/目录文件 (5528372)
- core.loader: 像普通ClassLoader一样优先findLoadedClass (a335b19)
- core.transform: newMethod引用当前类名时使用Placeholder (d4b6e9e)
- core.runtime:
- core.transform-kit: Transform启动前清空debug用的临时目录 (d9fd8cd)
- core.manager: 提供释放db接口,去掉getLastPlugins中关闭db的操作 (a499e0d)
Performance Improvements
- core.loader: 插件ClassLoader白名单采用前缀树进行匹配 (cc8f6d0)
Refactors
- dynamic: 抽出dynamic-apk模块以便复用于其他动态加载apk的场景 (159ab13)
Tests
- 修复API 29以上虚拟机自动化测试 (352561d)
2.1.1
相对2.1.0都是bug修复
2.1.0...fe04dcf