我们正在使用android-maven-plugin以超过65k的方法构建一个针对Jelly Bean(4.3.x)的multidex应用程序。描述的方法here有助于创建MainDexList.txt文件,但不会自动包含将通过反射加载的类。
是否有任何可用的工具或流程可以创建具有反射支持的MainDexList.txt文件? [我们通过反射加载的大多数类都是通过String常量命名的......]
我们试图避免手动运行应用并一次处理一条NoClassDefFoundError
条消息。
答案 0 :(得分:0)
要处理NoClassDefFoundError
,您只需要为每个项目添加MainDexList.txt
即可。这应该可以立即解决您的初始错误。但是,由于您的MainDexList.txt
仍然是空的,因此您将遇到更多问题。
要使用脚本加载MainDexList.txt
而不是手动加载,您可以使用Google的这个开源脚本,它将生成应包含在MainDexList.txt
中的确切类名。以下是Google实际提交的链接:
https://android.googlesource.com/platform/dalvik/+/2bb6fe45bf620525ba34bd7303d7ecb597aa0689
要了解更多信息(以及我的信息来源):
http://blog.osom.info/2014/10/generating-main-dex-list-file.html
备注:遗憾的是,这不支持反射,DexClassLoader从.jar
和.apk
文件中加载包含classes.dex条目的类。这也许值得一看。
希望这有帮助!