Android 使用Google Play服务的Adobe Air 4.0本机扩展

Android 使用Google Play服务的Adobe Air 4.0本机扩展,android,admob,air-native-extension,Android,Admob,Air Native Extension,这些天来,我正试图将AdMob集成到我基于AdobeAIR的android应用程序中,使用谷歌播放服务。准备好电子文件后,在Flash builder 4.6中调试应用程序后,出现以下错误: 打包应用程序时出错: dx工具失败:意外的顶级异常: java.lang.IllegalArgumentException:已添加: Lcom/google/android/gms/R$attr;在 com.android.dx.dex.file.ClassDefsSection.add(ClassDefs

这些天来,我正试图将AdMob集成到我基于AdobeAIR的android应用程序中,使用谷歌播放服务。准备好电子文件后,在Flash builder 4.6中调试应用程序后,出现以下错误:

打包应用程序时出错:

dx工具失败:意外的顶级异常: java.lang.IllegalArgumentException:已添加: Lcom/google/android/gms/R$attr;在 com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.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非常相似:

我知道我的电子文件一定有问题。但我真的不知道问题出在哪里。这是我的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>

我可以拿到电子文件。但在调试了我的Flex应用程序后,出现了错误。

我终于找到了问题的解决方案。问题在于将本机扩展名导出到.jar文件的过程中。更具体地说,当我将android项目导出到.jar文件时,我犯了一个错误。我选择整个java项目文件导出到.jar文件,包括不需要的gen文件夹。以下是屏幕截图:

我所做的不正确:

这是正确的方法:

adt -package -target ane Output.ane extension.xml -swc AdmobLibrary.swc -platform Android-ARM -platformoptions platform.xml -C android . -platform default -C default .