2013-10-22 44 views
1

我有兩個.ane擴展名,它們都需要google-play-services jar文件才能成功工作。當我在移動航空項目中分別使用它們時,它們工作得很好。但是當我需要他們倆在一個項目中,他們相互衝突:使用谷歌播放服務jar文件的兩個土坯原生擴展

java.lang.IllegalArgumentException: already added: 
com/google/android/gms/appstate/OnStateListLoadedListener; 

我不知道是否有一種方法,所以我不把谷歌播放服務的jar文件在其中的一個,然後創建.ane,然後在使用其他擴展(當然包括谷歌jar)的項目中使用它時,那麼以前的擴展會正常工作?

讓我這樣說,我的擴展程序如何在不將Google谷歌jar文件合併到我的擴展jar文件中的情況下使用google-play-services jar文件,而是使用其他已有的擴展名谷歌jar在擴展中結合...?

我清楚地解釋了我的問題是什麼? :)

回答

0

看起來像AIR 4.0有一個解決方案。

如果您在Adobe's documentation

開發本機擴展Adobe AIR的 看/開發本機擴展 包裝原生擴展/ Including resources in your native extension package

http://help.adobe.com/en_US/air/extensions/WSf268776665d7970d-2e74ffb4130044f3619-7ff8.html

您將看到部分的例子:「使用R. *機制訪問本地資源「

要引用:

以下是在platform.xml的依賴性的一個示例:

<packagedDependencies> 
    <packagedDependency>android-support-v4.jar</packagedDependency> 
    <packagedDependency>google-play-services.jar</packagedDependency> 
</packagedDependencies> 
<packagedResources> 
    <packagedResource> 
     <packageName>com.myane.sampleasextension</packageName> 
     <folderName>ane-res</folderName> 
    </packagedResource> 
    <packagedResource> 
     <packageName>com.google.android.gms</packageName> 
     <folderName>google-play-services-res</folderName> 
    </packagedResource> 
</packagedResources>