好的,我想知道有没有人设法拉到这个东西的?我正在制作 native 扩展,我的 native JAR 通过反射使用 Google Play 服务。我已将 Google Play 服务库添加到我的 native 扩展中,这是 platform.xml
的样子:
<platform xmlns="http://ns.adobe.com/air/extension/3.1">
<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>
我的 android
构建文件夹的结构如下:
android
- nativeLib.jar
- android-support-v4.jar
- google-play-services-res (folder)
- google-play-services.jar
- library.swf
当我构建不带 Google Play 服务库的 ANE(大约 5.1 mb)时,我发现我的 ANE 有例如 800 kb。像这样添加 Google Play 服务依赖项后,ANE 有大约 6 mb,这对我来说表明 platform.xml
中声明的这些 JAR 以某种方式 bundle 在 native 扩展中。现在,我的 native JAR 具有一些功能,我可以在其中查看从 Google Play 服务库调用方法是否失败。当我从我制作的 AIR Android 应用程序以及我集成此生成的 ANE 的位置调用它时,它总是失败。
因此,我的 native
JAR 和 google-play-services
JAR 在将它们打包到我的 ANE 之前并排放置,但是在从我的本地 jar 触发方法之后,事实证明它并不知道 google-play-services.jar 在任何地方。
仅作记录,我在将 AIR 与 native 库桥接时没有任何问题,所有调用都正常工作,我向 ActionScript 文件公开的界面功能齐全,只是 native 库正在执行某些操作,具体取决于无论是否找到 Google Play 服务,在我的情况下 -> 它们从未找到。
任何想法我可能做错了什么以及如何解决这个问题?
提前致谢。
最佳答案
关于android - 将 Google Play 服务添加到 Adobe AIR Android 的 native 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944664/