Comments (6)
因为Lambda表达式desurge生成的class被留在的host中
这是dynamic feature dex split的坑,解决方案是自己改R8,让lambda class正确的放在split中
from qigsaw.
多classloader下混淆的lambda表达式位于host的问题 后续:
- 单独升级R8,个人尝试R8 3.0.62版本已经解决这个问题了; (ps:对应agp7.0, qigsaw未支持agp7.0)
2.使用单Classloader模式;
from qigsaw.
demo复现步骤: @kissonchan
- :java 模块 先添加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
} - JavaSampleActivity类布局添加id,onCreate中添加
findViewById(R.id.text).setOnClickListener(v -> {
Log.e(TAG,"doError");
}); - clear 后使用R8或者proguard 运行 qigsawAssembleRelease
- 打完包后进入app,点击text文字会出现NoClassDefFoundError
from qigsaw.
因为Lambda表达式desurge生成的class被留在的host中
这是dynamic feature dex split的坑,解决方案是自己改R8,让lambda class正确的放在split中
活捉
from qigsaw.
apply plugin: 'com.iqiyi.qigsaw.dynamicfeature'
用了这个 plugin 还会出现吗?这个 plugin 改了 Scope 的范围,我这边验证是不会有问题
from qigsaw.
因为Lambda表达式desurge生成的class被留在的host中
这是dynamic feature dex split的坑,解决方案是自己改R8,让lambda class正确的放在split中
官方有对应的issue:https://issuetracker.google.com/issues/181185126
我测试过,AGP7.0可以解决这个问题。但Qigsaw还没适配7.0,大佬有计划适配吗?
from qigsaw.
Related Issues (20)
- splitcore类库里面并没有使用androidx.appcompat:appcompat里的代码,是否可以去掉
- 安装包大小
- 支持flutter 延迟加载吗
- 插件的processDebugResources任务失败,Dependent features configured but no package ID was set
- Qigsaw支持插件动态部署生效吗?还是说需要重启?aab貌似支持资源的动态部署生效,但是代码我试了下好像是要重启生效
- Qigsaw兼容Gradle 插件 4.1.0吗? HOT 2
- qigsaw支持AGP7.0吗 HOT 3
- 支持AGP4.2? HOT 1
- NPE NdkHandler找不到? HOT 2
- com.google.android.play.core的源码在哪下? HOT 1
- 并不支持 AGP 4.1.0+; 经测试,最多支持到 4.0.0 HOT 2
- 已经依赖了com.google.android.play.core的项目,报Duplicate class
- short类型传值出错!
- 配置文件的json(qigsaw.json)为啥要放assets下呢?
- 插件加载后,应该如何释放啊? HOT 1
- 还更新吗? HOT 2
- 插件化数据传递和通信的问题
- 竖屏转换为横屏后,报资源找不到错误 HOT 1
- AAPT error resource not found
- 不支持DataBinding吗
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qigsaw.