【问题标题】:Android Studio error: java.lang.ExceptionInInitializerError?Android Studio 错误:java.lang.ExceptionInInitializerError?
【发布时间】:2021-11-15 23:28:27
【问题描述】:

我正在尝试在 Android Studio 中编译一个应用程序,但我不断收到此错误:

Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.ExceptionInInitializerError

这里有一个类似的问题:Execution Failed for task :app:compileDebugJavaWithJavac in Android Studio

我尝试了上述问题中的几乎所有答案,但似乎没有任何效果!

这是我的build.gradle(模块):

apply plugin: 'com.android.application'
apply plugin: "androidx.navigation.safeargs"

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    defaultConfig {
        applicationId "com.XXXXXXX"
        minSdkVersion 18
        targetSdkVersion 29
        versionCode 3
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            resValue("string", "PORT_NUMBER", "8081")
        }
    }

    dataBinding {
        enabled = true
    }
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    def lifecycle_version = "2.2.0"
    def room_version = "2.2.5"
    def nav_version = "2.1.0-alpha02"
    def dagger_version = "2.27"
    def work_version = "2.4.0"

    //Navigation Jetpack
    implementation "androidx.navigation:navigation-fragment:$nav_version"
    implementation "androidx.navigation:navigation-ui:$nav_version"

    //Lifecycle Jetpack
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
    implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'

    //ROOM DB
    implementation "androidx.room:room-runtime:$room_version"
    implementation "androidx.room:room-rxjava2:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"


    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.0.0-rc01'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

    //GSON
    implementation 'com.google.code.gson:gson:2.6.2'

    //Retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.0.2'
    implementation 'com.squareup.retrofit2:converter-gson:2.0.2'

    //RXJava
    implementation 'io.reactivex.rxjava2:rxjava:2.0.1'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'


    implementation "androidx.preference:preference:1.1.0"
    implementation 'androidx.vectordrawable:vectordrawable:1.1.0'

    //Dagger 2
    implementation "com.google.dagger:dagger:$dagger_version"
    annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"

    // Dagger Android
    implementation "com.google.dagger:dagger-android:$dagger_version"
    implementation "com.google.dagger:dagger-android-support:$dagger_version"
    annotationProcessor "com.google.dagger:dagger-android-processor:$dagger_version"

    // Reactive Streams (convert Observable to LiveData)
    def reactivestreams_version = "1.1.1"
    implementation "android.arch.lifecycle:reactivestreams:$reactivestreams_version"

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    //Google maps
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'org.jetbrains:annotations-java5:15.0'

    //Shimmer animation
    implementation 'com.facebook.shimmer:shimmer:0.5.0'

    //local DB debug
    debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'

    //floating button
    implementation 'com.getbase:floatingactionbutton:1.10.1'

    //lombok
    compileOnly 'org.projectlombok:lombok:1.18.12'
    annotationProcessor 'org.projectlombok:lombok:1.18.12'

    //swipe to delete
    implementation 'it.xabaras.android:recyclerview-swipedecorator:1.2.1'

    //work manager
    implementation "androidx.work:work-runtime:$work_version"
    implementation "androidx.work:work-rxjava2:$work_version"
    implementation 'androidx.hilt:hilt-work:1.0.0-alpha01'
    annotationProcessor 'androidx.hilt:hilt-compiler:1.0.0-alpha01'


    //ml vision api
    implementation 'com.google.android.gms:play-services-vision:20.1.3'


    //maps location
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services-location:17.0.0'

    //jackson parser
    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.1'
    implementation 'com.android.support:multidex:1.0.3'

    //chart
    implementation 'com.mdgiitr.suyash:graphkit:0.9.0'

}

有人可以在这个问题上为我指出正确的方向和建议吗?

编辑:

我在 Mac 机器上运行最新的 Android Studio。

【问题讨论】:

    标签: java android android-studio


    【解决方案1】:

    如果在 Apple 的 M1 芯片上使用 Jetpack Room 也会出现此异常。

    这可以通过在 gradle 文件中添加正确的依赖来解决

    def room_version = "2.4.0-alpha03" //Needs to be this version to build on apple M1 chips
    
    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"
    

    here所述。

    【讨论】:

      【解决方案2】:

      好的,我设法通过将它添加到我的 build.gradle 文件来解决这个问题:

      configurations.all {
          resolutionStrategy {
              force 'org.xerial:sqlite-jdbc:3.34.0'
          }
      }
      

      我也没有升级gradle!

      【讨论】:

      • 如果您也给出解释将不胜感激。这将有助于初学者。
      【解决方案3】:

      根据Official Android site,抛出此错误表示在评估静态初始化程序或静态变量的初始化程序期间发生异常。问题出在您的代码中。查看任何不必要的静态标识符,并将您的代码发布到 repo :)

      【讨论】:

      • 不幸的是,这不是我的代码!它是别人的,我正在研究,而且写得也很糟糕!它也是一个巨大的代码!在 Xcode 中,通常你可以找出有问题的代码并解决问题,但 Android Studio 有很长的路要走。
      • 这是个问题! java/kotlin 代码干净吗?我的意思是检查任何红线并发布错误。
      • 没有 java/kotlin !
      • 那你为什么要通过Javac编译呢?而且您在问题中提到了 java 标记!
      • 我实际上是在构建 >> 构建捆绑包/Apks >> 在 android studio 中构建 APK!我做错了吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 2017-07-19
      相关资源
      最近更新 更多