最近,我试图将AdMob集成到我基于AdobeAir的Android应用程序中,并使用Google Play服务。准备好电子文件后,在flash builder 4.6中调试应用程序后出现以下错误:
打包应用程序时出错:
DX工具失败:意外的顶级异常:
java.lang.IllegalargumentException:已添加:
lcom/google/android/gms/r$attr;网址
com.android.dx.dex.file.classdefsection.add(classdefsection.java:123)
网址:com.android.dx.dex.file.dexfile.add(dexfile.java:143)
com.android.dx.command.dexer.main.processClass(main.java:301)网址
com.android.dx.command.dexer.main.processfilebytes(main.java:278)位于
com.android.dx.command.dexer.main.access$100(main.java:56),网址
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)
com.android.dx.command.dexer.main.processallfiles(main.java:183)网址
com.android.dx.command.dexer.main.run(main.java:139)网址
com.android.dx.command.dexer.main.main(main.java:120)网址
com.android.dx.command.main.main(main.java:89)1错误;正在中止
这个问题与post非常相似:
Cannot build Android Release Build on Flash Builder 4.7 due to "dx tool failed"
我知道我的电子文件一定有问题。但我真的不知道问题在哪里。这是我的android native extension.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应用程序之后,错误就出来了。

最佳答案

我终于找到了解决问题的办法。问题是在将本机扩展名导出到.jar文件的过程中。更具体地说,当我将我的android项目导出到.jar文件时,我犯了一个错误。我选择整个Java项目文件导出到.jar文件,包括Gen文件夹,这是不必要的。这是屏幕截图:
我所做的是不正确的:
这是正确的方法:

关于android - 带有Google Play服务的Adobe Air 4.0 native 扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23104532/

10-12 00:12
查看更多