我在我的项目中禁用了 proguard:
android {
...
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
我正在使用 side menu图书馆。已在
build.gradle
中解决:dependencies {
...
compile files('libs/sidemenu.jar')
}
但是当我编译并运行我的应用程序时,它提示找不到一个类(
com.agimind.widget.SlideHolder$1
在寻址库中)!E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{**.***.reader/**.***.reader.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class com.agimind.widget.SlideHolder
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1959)
...
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class com.agimind.widget.SlideHolder
at android.view.LayoutInflater.createView(LayoutInflater.java:606)
...
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
at android.app.Activity.setContentView(Activity.java:1835)
at **.***.reader.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:4465)
...
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
...
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
at android.app.Activity.setContentView(Activity.java:1835)
at **.***.reader.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:4465)
...
Caused by: java.lang.NoClassDefFoundError: com.agimind.widget.SlideHolder$1
at com.agimind.widget.SlideHolder.<init>(SlideHolder.java:604)
at java.lang.reflect.Constructor.constructNative(Native Method)
...
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
at android.app.Activity.setContentView(Activity.java:1835)
at **.***.reader.MainActivity.onCreate(MainActivity.java:121)
at ...
注:我试过
gradlew clean
也是,没有成功。旁注:这个项目使用了一些大型库,我启用了
multi-dex
为了那个原因。任何帮助将不胜感激。
最佳答案
那是因为我还没有完成 multi-dex
的必要步骤。 .我没有将其添加到 AndroidManifest.xml
:
<application
android:name="android.support.multidex.MultiDexApplication"
...
因此,该应用程序无法在第二个 dex 文件中找到类。
关于Android Studio 从输出应用中移除库类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28135835/