Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Dex错误方法id不在65536中,仅带有gradle_Android_Gradle - Fatal编程技术网

Android Dex错误方法id不在65536中,仅带有gradle

Android Dex错误方法id不在65536中,仅带有gradle,android,gradle,Android,Gradle,我最近决定把我的Android Studio项目从ant移植到gradle。这个项目一开始实际上是用gradle创建的,但当时我还没有弄清楚gradle和ant之间的所有区别,所以我手动从项目中剥离了gradle的所有内容,并用ant编译了它,直到现在 我决定回到gradle,但是我没有转换现有的项目,而是创建了一个新的gradle项目,并从旧的ant项目导入了所有的模块/粘贴了所有的代码/库 我能够让一切正常工作,但编译时出现以下错误: 在使用ant编译时,我从未得到过这种方法,正如我前面所说

我最近决定把我的Android Studio项目从ant移植到gradle。这个项目一开始实际上是用gradle创建的,但当时我还没有弄清楚gradle和ant之间的所有区别,所以我手动从项目中剥离了gradle的所有内容,并用ant编译了它,直到现在

我决定回到gradle,但是我没有转换现有的项目,而是创建了一个新的gradle项目,并从旧的ant项目导入了所有的模块/粘贴了所有的代码/库

我能够让一切正常工作,但编译时出现以下错误:

在使用ant编译时,我从未得到过这种方法,正如我前面所说的,代码、模块和库是相同的。当我第一次问这个问题时,实际上我犯了一个错误,在libs文件夹中的所有jar中输入了两次。以下是依赖项的原始列表:

如果仔细看,第一行是dir=libs include=[*.jar]。我还添加了下面所有的罐子,我很笨,只是没有看到这是一条线。现在我的依赖项列表如下所示:

这要少得多,我想这会解决问题。但是,当我尝试将应用程序加载到我的设备上时,发生了相同的错误

我认为可能的一件事是,我的许多模块依赖于主应用程序所依赖的同一个android-support-v4库。我想我在不同的模块和主应用程序中引用了maven repo 3-4次。有没有更有效的方法来实现这一点,或者编译器是否知道不为每个依赖项包含v4支持库的不同实例

另一个值得注意的发现:我发现了一些错误,如下所示:

warning: Ignoring InnerClasses attribute for an anonymous inner class
(com.amazonaws.javax.xml.stream.xerces.util.SecuritySupport12$4) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
当我运行gradlew assembleDebug时,这就是抛出错误的进程。我四处搜索,似乎这只是一个可以忽略的警告,但我想我得到的十几个可能会产生影响。完整日志可在此处查看:

小结:我得到了DEX65536错误,这表明这个项目有太多的方法,但我只是在从ant升级到gradle之后才得到这个错误,在我做之前,一切都很好


谢谢

运行gradle dependencies以获取gradle试图获取的所有内容的报告。我猜您的意思是。/gradlew dependencies?终端无法识别gradle命令,当我查看Android的gradle指南时,我没有看到将其添加到路径中的内容。不管怎么说,结果是:没有表现出太多。对不起,我的无知,你能描述一下你的意思吗?假设我的尝试是错误的?我假设你的意思是。/gradlew dependencies?-仅当您使用gradlew时。我不推荐。事实上没有显示太多——更准确地说,它没有显示任何东西,这对我来说没有多大意义。它应该给出一个让人想起你的屏幕截图的列表,但也列出了可传递的依赖项。你可能需要安装本地版本的gradle和/或将其添加到你的路径中。是的,我使用gradlew是因为./gradle依赖项和gradle依赖项不起作用。我搜索了running gradle并找到了这个链接:这就是我找到gradlew的地方。我将四处寻找调用gradle依赖项的正确方法,我假设需要将它添加到我的路径中。