我正在尝试通过创建原生扩展程序为Air移动应用添加Google Plus支持。代码在独立项目中工作,但尝试将其用作本机扩展会产生以下错误:
Failed resolving Lcom/myname/ane/sharingextensions/googleplus/GooglePlusConnect; interface 479 'Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;'
04-08 15:51:29.573: W/dalvikvm(19956): Link of class 'Lcom/myname/ane/sharingextensions/googleplus/GooglePlusConnect;' failed
在我看来,Google Play服务库实际上并未包含在原生扩展中。 google-play-services_lib项目作为库项目添加到我的原生扩展项目中。我尝试从google-play-services_lib项目中提取bin / google-play-services_lib.jar文件,并使用内容更新我的原生扩展jar
jar xf /path-to-play-services-project/bin/google-play-services_lib.jar
jar uf ./my_gplus_extension.jar ./android
但这似乎没有解决问题(所有似乎都存在一个“UnusedStub.class”文件)。我还将Adobe Air目录中的Android SDK更新为版本19(如此处所述http://lancelotmobile.com/blog/air-compile-for-android-4/),但这也没有效果。 违规类是:
public class GooglePlusConnect extends FragmentActivity implements
ConnectionCallbacks, OnConnectionFailedListener,
ResultCallback<People.LoadPeopleResult> {
//Pretty much a clone of the google plus sign-in sample project
}
如果有人对此有任何见解或能够发现我所犯的任何愚蠢错误,那就太棒了。
答案 0 :(得分:2)
我想我刚刚回答了我自己的问题,似乎我需要提取/path-to-play-services-project/libs/google-play-services.jar的内容,其实际上包含很多内容,以及更新我的扩展jar文件及其内容时纠正链接错误。以下似乎对它进行了排序:
jar xf /path-to-play-services-project/libs/google-play-services.jar
jar uf ./my_gplus_extension.jar ./com