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