【问题标题】:Adobe Air 4.0 Native Extension with Google Play Services带有 Google Play 服务的 Adob​​e Air 4.0 原生扩展
【发布时间】:2014-04-16 08:56:41
【问题描述】:

这些天来,我正在尝试将 AdMob 集成到我的基于 Adob​​e Air 的 Android 应用程序中,并使用 Google Play 服务。准备好 ane 文件后,在 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很相似: Cannot build Android Release Build on Flash Builder 4.7 due to "dx tool failed"

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

我可以得到 ane 文件。但是在调试我的 Flex 应用程序后,错误就出来了。

【问题讨论】:

    标签: android admob air-native-extension


    【解决方案1】:

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

    我的做法不正确:

    这是正确的方法:

    【讨论】:

      猜你喜欢
      • 2015-11-03
      • 1970-01-01
      • 2011-12-16
      • 2012-10-09
      • 2014-08-12
      • 1970-01-01
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多