好的,我想知道是否有人设法拉这个东西?我正在进行原生扩展,而我的原生JAR通过反射使用Google Play服务。我已将Google Play服务库添加到我的原生扩展程序,这里是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
当我构建我的ANE w / o Google Play服务库(大约5.1 mb)时,我看到我的ANE有例如800 kb。在添加像这样的Google Play服务依赖项之后,ANE大约有6 MB,这对我来说表明platform.xml
中陈述的这些JAR以某种方式捆绑在本机扩展中。现在,我的原生JAR有一些功能,我可以看到来自Google Play Services库的调用方法是否失败。当我从我制作的AIR Android应用程序中调用它并在此处集成此生成的ANE时,它总是失败。
所以,我的native
JAR和google-play-services
JAR在将它们包装在我的ANE之前彼此相邻,但是在从我的本机罐子触发方法之后,事实证明它不是&#39;请注意google-play-services.jar就在附近。
仅仅为了记录,我在使用本机库桥接AIR时没有任何问题,所有调用都正常工作,我暴露给ActionScript文件的界面功能齐全,它只是本机库正在执行某些操作,具体取决于是否找到Google Play服务,在我的情况下 - &gt;他们永远找不到。
任何想法我可能做错了什么以及如何拉这个东西?
提前致谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
我设法使用以下代码让Google Play服务正常运行(只有必要的JAR文件):
https://github.com/Oldes/ANEAmanitaAndroid-public/tree/GooglePlay
您可以使用此拉取请求详细信息查看我使用最小的“hello”ANE进行操作所做的工作:
https://github.com/Oldes/ANEAmanitaAndroid-public/pull/1
我从SDK获取GPS jar文件,从AAR档案中提取它们,如:
extras\google\m2repository\com\google\android\gms\play-services-base\9.4.0\play-services-base-9.4.0.aar
在每个aar
(只是zip
)文件classes.jar
中,我只是在项目中复制并重命名为play-services-base-9.4.0.jar
。
要让GPS正常运行,您必须在应用清单中指定正确的应用ID,例如at this line: