【问题标题】:App Crashes only on particular computer. With NoClassDefFoundError error应用程序仅在特定计算机上崩溃。出现 NoClassDefFoundError 错误
【发布时间】:2019-03-28 18:32:45
【问题描述】:

我有一个应用程序。它在其他计算机上启动购买我的计算机没有。即使制作apk也不起作用。如果我从其他计算机创建同一应用程序的 apk,如果我从中创建它,它就不会起作用。它给了我以下错误

我尝试过: 1) 清洁重建 2)无效并重新启动 3)卸载/重新安装Android Studio 4) 从这里使用multidex https://developer.android.com/studio/build/multidex 5)试过原生模拟器/genymotion/真机

我已经尝试了所有(我认为)可能导致问题的事情。因此,如果想减去该问题,请发表评论有什么问题,它可以帮助我提高问题的质量。

java.lang.NoClassDefFoundError: android.support.graphics.drawable.VectorDrawableCompat
        at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:775)
        at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:366)
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:198)
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:191)
        at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:753)
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:196)
        at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86)
        at android.support.v7.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260)
        at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:182)
        at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520)
        at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
        at com.myApp.base.BaseActivity.onCreate(BaseActivity.java:69)
        at com.myApp.devicemanager.DMActivity.onCreate(DMActivity.java:29)
        at android.app.Activity.performCreate(Activity.java:5231)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
        at android.app.ActivityThread.access$800(ActivityThread.java:135)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5017)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method)

分级

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.myApp.mobile.pm.payday"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "com.android.support:appcompat-v7:$rootProject.ext.supportLibraryVersion"
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation ("com.myApp.mobile.pm.common:app:$rootProject.ext.commonVersion") {
        exclude group: 'com.fasterxml.jackson.annotation'
        exclude group: 'com.fasterxml.jackson.core'
        exclude group: 'com.fasterxml.jackson.databind'
    }

    annotationProcessor "com.jakewharton:butterknife-compiler:$rootProject.ext.butterknifeVersion"
    annotationProcessor "android.arch.persistence.room:compiler:$rootProject.roomVersion"

}

【问题讨论】:

  • 你会添加你的整个build.gradle(这个带有依赖项)吗?

标签: android android-studio android-vectordrawable


【解决方案1】:

根据您正在测试的模拟器/设备上的 android 版本,您可能需要将此行添加到您的 gradle 中

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
 }

来源:Android Vector Drawable Documentations

【讨论】:

  • 你检查了这个答案吗? stackoverflow.com/a/37864531/5528269
  • 问题是它可以在其他计算机上使用相同的代码和配置。所以我猜这个特定comp中的问题不是代码。但是是的,我在代码中尝试了所有这些操作
猜你喜欢
  • 2016-02-17
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多