我在项目(A,B,C)中有几个模块。模块B正由另一个模块使用。结果我得到65k方法限制问题。
因此。有没有办法只将特定包从模块B导入到模块A?可以用proguard来实现吗?
答案 0 :(得分:0)
我认为,这是一个更简单的解决方案(尽管不是更好):
答案 1 :(得分:0)
最好的办法是只使用所需的库,搜索方法数量较少的替代库。例如,Picasso库使用不到1k的方法,Glide大约4k,但它有更多的功能。
对于Google服务,请使用粒度依赖 - 仅导入所需的依赖项。
您可以重新打包现有的库,只需获取所需的功能或只搜索github存储库中的特定类
Proguard将删除未使用的课程。
Multidex是你的最后手段 - 对于低于21的minSdk,你的构建时间会增加。我在处理代码时会切换到minSdk 21(它构建速度更快)并在测试时返回目标minSdk。你仍然不应该被multidex吓到,当你将处理具有大量视图和功能的大项目时,你需要习惯它。