添加一个lib后,我遇到与Unable to execute dex: method ID not in [0, 0xffff]: 65536
相同的错误我确实使用了Android Studio 0.8.14,将其更新为1.0 RC2(最新于2014年12月2日),添加了multiDexEnabled = true,好吧,项目构建良好。在这个应用程序中,我有计费。我在设备上运行我的应用程序(尝试在模拟器和真实设备上,结果相同),我看到这个例外:
java.lang.NoClassDefFoundError: <mypackagename>.util.IabHelper$1
at <mypackagename>.util.IabHelper.startSetup(IabHelper.java:210)
at <mypackagename>.ParentActivity.onCreate(ParentActivity.java:159)
at <mypackagename>.SplashScreenActivity.onCreate(SplashScreenActivity.java:60)
at android.app.Activity.performCreate(Activity.java:4494)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1940)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2001)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1163)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4444)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
IabHelper - 由Google提供,用于轻松实现应用内部构建。这是这个类的210个字符串:
mServiceConn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
...
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
...
}
};
当我使用Android studio 0.8.14时,这个工作很好,这个问题只在更新后出现。我不能降级,因为我会得到&#34;执行dex&#34;错误。任何想法如何解决这一问题?我真的很困惑......
更新:我试图删除结算功能,在启动应用程序时将NoClassDefFoundError抛给项目中声明的任何类...也许我在迁移到新的gradle工具版本时错过了什么?
答案 0 :(得分:0)
我也遇到了与 NoClassDefFoundError 类似的问题 我甚至尝试安装新的Android studio \ Eclipse以及最终工作的内容 我正在手动更新SDK \ build-tools文件夹到更新的文件夹。旧的没有很好的更新。 所以只需删除构建工具并尝试再次安装它,然后重新启动。
答案 1 :(得分:0)
最后我找到了......&#34;拐杖&#34; (我只是不知道在这个定义中使用什么词)
这篇文章http://frogermcs.github.io/MultiDex-solution-for-64k-limit-in-Dalvik/真的帮到了我:我下载了android studio 0.8.14,添加了com.android.support:multidex依赖关系来构建文件,然后关注&#34;治愈&#34;最后一篇文章的说明。
PS:是的,它有效,但我认为它并不是解决这个问题的真正办法。总的来说,我仍然不知道究竟是什么问题。