android 傻瓜式 MultiDex 插件,从此再也不用担心方法数问题!
时间:2022-03-13 19:33
简介:Android 傻瓜式 MultiDex 插件,从此再也不用担心方法数问题!
注 1:不想看前半部分的话可以直接跳过到最下面配置部分。
注 2:本插件是基于优化改造而来,感谢 ceabie 的无私奉献。
解决:
扩展=>这篇比较好的介绍了 Transform API 的使用。,他们是通过编写了一个能够自动分析 Class 依赖的脚本去算出主 Dex 需要包含的所有必要依赖。看来写脚本是跑不掉了。查看 sdk\build-tools\platform-version\mainDexClasses.rules 发现放入主 Dex 相关类有 Instrumentation,Application,Activity,Service,ContentProvider,BroadcastReceiver,BackupAgent 的所有子类。问题二:gradle 是在哪里算出主 Dex 依赖?
查看 Gradle 编译任务发现有如下 3 个编译任务:
运行 collect 任务,发现会在 build/multi-dex 目录下单独生成
问题三:在哪里控制由问题一我们知道生成
来源:
我们只需要在完成任务向量图之后,执行任务之前 Hook 一下 collect 任务,过滤掉不必要的 activity 就 OK 了。添加 Gradle:
参考=>已知错误
注:分包的时候如果发现一些莫名的错误,可以关掉 instant run,一般都能解决
错误 1: (已修复)
Error:Execution failed for task ‘:Toon:transformClassesWithDexForDebug‘.> java.lang.NullPointerException (no error message)
发生此错误只要切换一次 Gradle 版本就 OK 了,比如 1.5.0
错误 2:(已修复)
Unsupported major.minor version 52.0
由于插件中使用到了 JDK1.8 的一些 API,所以将 JDK 升级到 1.8 就可以了
错误 3: (已修复)
Error:Execution failed for task ‘:app:transformClassesWithDexForDebug‘.
> DexKnife Warnning: Main dex is EMPTY ! Check your config and project!
gradle 切到 1.5.0,目前就发现 gradle 2.1.2 有这问题。
相关推荐
- Android系统编程入门系列之界面Activity交互响应
- 新型横向移动工具原理分析、代码分析、优缺点以及检测方案
- uni-app滚动视图容器(scroll-view)之监听上拉事件
- uniapp h5,app两端复制文本
- Android系统编程入门系列之界面Activity响应丝滑的传统动画
- 【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
- 诺基亚短信生成!太好玩了
- iOS 跳转App Store进行评分
- 开发一个即时通讯App
- 关闭苹果IOS app自动更新
电脑软件
本类排行
- 1关闭苹果IOS app自动更新
- 2iOS 跳转App Store进行评分
- 3诺基亚短信生成!太好玩了
- 4Android系统编程入门系列之界面Activity响应丝滑的传统动画
- 5uniapp h5,app两端复制文本
- 6uni-app滚动视图容器(scroll-view)之监听上拉事件
- 7新型横向移动工具原理分析、代码分析、优缺点以及检测方案
- 8Android系统编程入门系列之界面Activity交互响应
- 9开发一个即时通讯App
- 10【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn