我在项目中有几个模块(A、B、C)。模块 B 正在被其他模块使用。结果我遇到了 65k 方法限制问题。
所以。有没有办法只将特定包从模块 B 导入到模块 A?可以用proguard实现吗?
我在项目中有几个模块(A、B、C)。模块 B 正在被其他模块使用。结果我遇到了 65k 方法限制问题。
所以。有没有办法只将特定包从模块 B 导入到模块 A?可以用proguard实现吗?
您最好的选择是只使用需要的库,搜索方法数较少的替代库。例如 Picasso 库使用不到 1k 的方法,Glide 大约 4k 但它有更多的功能。
对于 Google 服务,请使用细粒度依赖项 - 仅导入需要的依赖项。
您可以重新打包现有的库,只需获取所需的功能或仅在 github 存储库中搜索特定类
Proguard 将剥离未使用的类。
Multidex 是你最后的选择——对于低于 21 的 minSdk,你的构建时间将会增加。我在处理代码时切换到 minSdk 21(它构建得更快)并在测试时回到目标 minSdk。不过你也不应该被multidex吓到,当你在做一个有很多视图和特性的大项目时,你需要习惯它。