好的,我想知道是否有人设法拉出这个东西?我正在制作原生扩展,我的原生 JAR 通过反射使用 Google Play 服务。我已将 Google Play Services 库添加到我的原生扩展中,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 服务库(大约 5.1 mb)的 ANE 时,我看到我的 ANE 有例如 800 kb。在像这样添加 Google Play Services 依赖项后,ANE 大约有 6 mb,这对我来说表明这些 JAR 以platform.xml
某种方式捆绑在本机扩展中。现在,我的原生 JAR 有一些功能,我可以查看从 Google Play 服务库调用方法是否失败。当我从我制作的 AIR Android 应用程序中调用它并在其中集成了这个生成的 ANE 时,它总是失败。
因此,我的native
JAR 和google-play-services
JAR 在将它们打包到我的 ANE 之前彼此相邻,但是在从我的本地 jar 触发方法之后,事实证明它不知道 google-play-services.jar 在任何地方。
仅作记录,我在将 AIR 与本机库桥接时没有任何问题,所有调用都正常工作,并且我向 ActionScript 文件公开的界面功能齐全,只是本机库根据 Google Play 执行某些操作是否找到服务,在我的情况下 - >它们永远找不到。
任何想法我可能做错了什么以及如何解决这个问题?
提前致谢。