Android Studio 从输出应用中移除库类

标签 android gradle android-studio

我在我的项目中禁用了 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/

相关文章:

android - list 合并工具 :replace doesnt have any effect

android - 在android studio中安装存储库和同步项目错误说所有包都不可用

java - 上下滑动半屏调节音量,半屏调节亮度

java - 当我尝试运行我的Android应用程序时,Gradle失败,原因为空白

jenkins - 如何从gradle任务中调用Groovy函数?

groovy - Gradle 自动打印数字

android - 是否可以自定义 CalendarView 小部件以显示事件并自定义颜色(渐变色)?

android - 在 ViewPager 中替换 Fragment 显示黑屏?

android - 开放式安卓中风?

android - FragmentPagerAdapter 问题 - 我的第一个选项卡未加载其数据,但如果我点击第三个选项卡然后返回第一个选项卡,它会加载