我正在将几个Google Play服务广告(gcm& auth)打包到Adobe AIR for Android应用中。我从这些Play服务库提供的 aar 文件中获取了相关的jar。我将这些罐放入项目中的 app / libs 文件夹中,并编译了apk。但是,当我启动apk时,我在logcat中收到此错误:
java.lang.ClassNotFoundException:未在路径上找到“com.google.android.gms.common.GooglePlayServicesUtil”类:DexPathList [[zip file“/data/app/air.com.me.andros-1 /base.apk“]
当我尝试在我的java代码中调用GooglePlayServicesUtil
时会发生此错误。但是,这个错误没有意义,因为当我使用 Apktool 对其进行逆向工程时,我的apk中会出现GooglePlayServicesUtil。请参阅以下屏幕截图:
有人遇到过类似的问题吗?
答案 0 :(得分:1)
我解决了这个问题!
事实证明,GooglePlayServicesUtil.class
扩展了一个名为 zze 的混淆类。此 zze.class 位于app/build/intermediates/exploded-aar/com.google.android.gms/play-services-basement/9.4.0/
。因此,在使用Adobe AIR构建最终的apk之前,我必须手动将包含此zze
类的jar复制到我的app / libs文件夹中。