现在,我正在尝试将AdMob集成到基于Adobe Air的Android应用程序中,并使用 Google Play服务。在我准备好文件后,我在Flash Builder 4.6中调试应用程序后出现以下错误:
打包应用程序时出错:
dx工具失败:意外的顶级工具异常: java.lang.IllegalArgumentException:已添加: LCOM /谷歌/机器人/克/ R $ ATTR;在 com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) 在com.android.dx.dex.file.DexFile.add(DexFile.java:143)at com.android.dx.command.dexer.Main.processClass(Main.java:301)at com.android.dx.command.dexer.Main.processFileBytes(Main.java:278)at at com.android.dx.command.dexer.Main.access $ 100(Main.java:56)at com.android.dx.command.dexer.Main $ 1.processFileBytes(Main.java:229) 在 com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244) 在 com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130) 在 com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108) 在com.android.dx.command.dexer.Main.processOne(Main.java:247)at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)at at com.android.dx.command.dexer.Main.run(Main.java:139)at com.android.dx.command.dexer.Main.main(Main.java:120)at com.android.dx.command.Main.main(Main.java:89)1错误;中止
此问题与帖子非常相似: Cannot build Android Release Build on Flash Builder 4.7 due to "dx tool failed"
我知道我的文件肯定有问题。但我真的不知道问题出在哪里。这是我的android原生扩展.jar文件夹:
这是我的platform.xml文件:
<platform xmlns="http://ns.adobe.com/air/extension/4.0">
<packagedDependencies>
<packagedDependency>android-support-v4.jar</packagedDependency>
<packagedDependency>google-play-services.jar</packagedDependency>
</packagedDependencies>
<packagedResources>
<packagedResource>
<packageName>com.google.android.gms</packageName>
<folderName>google-play-services-res</folderName>
</packagedResource>
</packagedResources>
</platform>
我正在使用以下命令行来编译ane文件:
adt -package -target ane Output.ane extension.xml -swc AdmobLibrary.swc -platform Android-ARM -platformoptions platform.xml -C android . -platform default -C default .
我可以获得这个文件。但在调试我的Flex应用程序后,错误就出现了。
答案 0 :(得分:3)
我终于找到了问题解决方案。问题在于将本机扩展导出到.jar文件的过程中。更具体地说,当我将我的android项目导出到.jar文件时,我犯了一个错误。我选择整个java项目文件导出到.jar文件,包括gen文件夹,这是不必要的。这是屏幕截图:
我正在做的不正确:
这是正确的方法: