1

我有两个 .ane 扩展名,它们都需要 google-play-services jar 文件才能成功运行。当我在我的移动 Air 项目中单独使用它们时,它们工作得很好。但是当我在一个项目中同时需要它们时,它们会相互冲突:

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

我想知道是否有办法让我不将 google-play-services jar 文件放在其中一个中,然后创建 .ane ,但是在使用另一个扩展名的项目中使用它时(当然包括google jar) 那么以前的扩展程序可以正常工作吗?

让我这样说吧,我的扩展如何使用 google-play-services jar 文件而不将 google jar 文件合并到我的扩展 jar 文件中,而是使用它需要的其他扩展已经组合了 google jar扩展...?

我清楚地解释我的问题是什么吗?!:)

4

1 回答 1

0

看起来 AIR 4.0 对此有解决方案。

如果您查看Adob​​e 的文档

为 Adob​​e AIR 开发原生扩展 / 开发原生扩展 打包原生扩展 /在原生扩展包中包含资源

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>
于 2014-10-10T20:27:30.807 回答