2014-04-16 72 views
3

這些天,我試圖將AdMob集成到我的Adobe Air基於Android的應用程序中,其中Google Play服務。之後我得到的ANE文件準備好了,我得到了後,我在Flash Builder 4.6調試應用以下錯誤:Adob​​e Air 4.0原生擴展與Google Play服務

DX工具失敗:雖然打包應用程序發生

錯誤意外的頂級例外: 的java .lang.IllegalArgumentException:已添加: Lcom/google/android/gms/R $ attr;在 com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) at 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 com.android.dx.command.dexer。 Main.access $ 100(Main.java:56)at com.android.dx.command.dexer.Main $ 1.processFileBytes(Main.java:229) at com.android.dx.cf.direct.ClassPathOpener.processArchive (ClassPathOpener.java:244) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130) at com.android.dx.cf.direct.ClassPathOpener.p rocess(ClassPathOpener.java:108) at com.android.dx.command.dexer.Main.processOne(Main.java:247)at 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)在 融爲一體。 android.dx.command.Main.main(Main.java:89)1錯誤;中止

這個問題在後頗爲相似: Cannot build Android Release Build on Flash Builder 4.7 due to "dx tool failed"

我知道一定有我的ANE文件是錯誤的。但我真的不知道問題在哪裏。這是我的Android原生擴展的.jar文件夾: enter image description here

這裏是我的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應用程序後,錯誤即將出現。

回答

3

我終於找到了問題的解決方案。問題在於將本地擴展導出爲.jar文件。更具體地說,當我將我的android項目導出到.jar文件時,我犯了一個錯誤。我選擇整個java項目文件導出到.jar文件中,包括不需要的gen文件夾。下面是截圖:

我在做什麼是不正確: enter image description here

這是正確的做法: enter image description here