我正在开发一个快速接近dex文件的64K方法限制的项目。这个Android Developer blog post(自2011年7月起)解释了如何使用Ant驱动的命令行构建来动态加载类,但是没有探讨如何在IDE中使用它(除了说它不能在蚀)。
我环顾四周,找不到任何关于让这个系统在IntelliJ中工作的东西。 IntelliJ是否支持使用多个dex文件构建应用程序?如果是这样,如何设置它?
答案 0 :(得分:3)
尝试使用ProGuard从项目中删除未使用的类和方法,您应该(希望)发现您不需要多个dex文件。
如果你这样说:IntelliJ和Eclipse只是IDE--它们不直接构建你的代码 - 所以你需要确定你的项目是如何构建的 - 很可能是Ant或Gradle。
如果您的项目是Gradle项目,那么项目根目录中将会有一个build.gradle文件 - 如果是这种情况,那么您将需要了解如何使用Android Gradle插件完成相同的操作,这是一个好地方开始时将是http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Manipulating-tasks。
答案 1 :(得分:0)
有两种选择:
答案 2 :(得分:0)
您能提供有关项目的详细信息吗?
将PlayN库连接到项目后,我最近遇到了同样的问题。首先,我阅读了你提到的所有帖子和相关内容,但最终我通过从依赖的Pythagoras jar中排除部分类来解决问题(我删除了pythagoras.d包,这是为了#34; double",因为pythagoras.f," float",在PlayN中使用而不是它,这是PlayN中最大的依赖项之一。
也许你可以在项目依赖项中找到类似的弱点。
答案 3 :(得分:0)
Eclipse可以启动外部ant脚本,但这对工具没有帮助。最好的建议是Android Studio和Gradle,因为所有命令都在IDE外部运行,然后将此Ant脚本http://code.google.com/p/android-custom-class-loading-sample/source/browse/trunk/android-custom-class-loading-sample/build.xml移植到gradle。
请注意以下方面的一些官方支持:https://groups.google.com/forum/#!topic/gradle-android-plugin-users/zG_xUeVaV7s
答案 4 :(得分:0)
Multidex似乎是解决65K方法限制的最佳(也是最快)选项。 Google提供了有关设置Multidex here。
的精彩文档