我在android的libs文件夹中有多个库。当我尝试添加“Tapjoy”时,我收到错误:
无法执行dex方法ID而不是0 0xffff 65536 android问题 即将到来
并且,当我尝试配置构建路径并添加外部jar时,
java.lang.NoClassDefFoundError: com.tapjoy.TapjoyConnect
我坚持这个问题。任何人都可以给我解决方案吗?
答案 0 :(得分:0)
祝贺你达到65K方法限制,你有两个选择:
a)通过删除不必要的库/使用ProGuard来清理一些代码。
b)Multidex解决方案,请按照以下步骤进行操作
通过添加support dex lib并启用multidex
来修改build.gradle
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
修改您的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
p.s如果你已经扩展了Application,那么只需覆盖attachBaseContext方法
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}