Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio Android Studio 3.2金丝雀2 Kotlin运行时验证错误:拒绝类_Android Studio_Gradle_Kotlin - Fatal编程技术网

Android studio Android Studio 3.2金丝雀2 Kotlin运行时验证错误:拒绝类

Android studio Android Studio 3.2金丝雀2 Kotlin运行时验证错误:拒绝类,android-studio,gradle,kotlin,Android Studio,Gradle,Kotlin,嗨,我刚刚将Android Studio更新为3.2 canary 2,我的项目编译很好,但我有一个运行时异常 以下是坠机事件: FATAL EXCEPTION: main Process: fr.myApp, PID: 12658 java.lang.VerifyError: Rejecting class kotlin.reflect.jvm.internal.KClassImpl that attempts to sub-class erroneous class kotlin.refle

嗨,我刚刚将Android Studio更新为3.2 canary 2,我的项目编译很好,但我有一个运行时异常

以下是坠机事件:

FATAL EXCEPTION: main
Process: fr.myApp, PID: 12658
java.lang.VerifyError: Rejecting class kotlin.reflect.jvm.internal.KClassImpl that attempts to sub-class erroneous class kotlin.reflect.jvm.internal.KDeclarationContainerImpl (declaration of 'kotlin.reflect.jvm.internal.KClassImpl' appears in /data/app/fr.myApp-2/split_lib_dependencies_apk.apk)
    at kotlin.reflect.jvm.internal.KClassCacheKt.getOrCreateKotlinClass(kClassCache.kt:63)
    at kotlin.reflect.jvm.internal.ReflectionFactoryImpl.getOrCreateKotlinClass(ReflectionFactoryImpl.java:45)
    at kotlin.jvm.internal.Reflection.getOrCreateKotlinClass(Reflection.java:61)
    at fr.myApp.reusable.base.modules.NewBaseActivity.<clinit>(NewBaseActivity.kt)
    at java.lang.Class.newInstance(Native Method)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1096)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3122)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
    at android.app.ActivityThread.access$1100(ActivityThread.java:229)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:7331)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
 Caused by: java.lang.VerifyError: Verifier rejected class kotlin.reflect.jvm.internal.KDeclarationContainerImpl due to bad method java.lang.reflect.Method kotlin.reflect.jvm.internal.KDeclarationContainerImpl.tryGetMethod(java.lang.Class, java.lang.String, java.util.List, java.lang.Class, boolean) (declaration of 'kotlin.reflect.jvm.internal.KDeclarationContainerImpl' appears in /data/app/fr.myApp-2/split_lib_dependencies_apk.apk)
    at kotlin.reflect.jvm.internal.KClassCacheKt.getOrCreateKotlinClass(kClassCache.kt:63) 
    at kotlin.reflect.jvm.internal.ReflectionFactoryImpl.getOrCreateKotlinClass(ReflectionFactoryImpl.java:45) 
    at kotlin.jvm.internal.Reflection.getOrCreateKotlinClass(Reflection.java:61) 
    at fr.myApp.reusable.base.modules.NewBaseActivity.<clinit>(NewBaseActivity.kt) 
    at java.lang.Class.newInstance(Native Method) 
    at android.app.Instrumentation.newActivity(Instrumentation.java:1096) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3122) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) 
    at android.app.ActivityThread.access$1100(ActivityThread.java:229) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:7331) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
以及:

我的职业后卫:

-dontwarn okio.**
-dontwarn javax.annotation.**
-keepclasseswithmembers class * {
    @com.squareup.moshi.* <methods>;
}
-keep @com.squareup.moshi.JsonQualifier interface *
-keepclassmembers class kotlin.Metadata {
    public <methods>;
}
-keepclassmembernames class kotlinx.** {
    volatile <fields>;
}
-dontwarn okio**
-dontwarn javax.annotation**
-keepclassswithmembers类*{
@com.squareup.moshi.*;
}
-keep@com.squareup.moshi.JsonQualifier接口*
-keepclassmembers类kotlin.Metadata{
公众;
}
-keepclassmembernames类kotlinx。**{
不稳定的
}

这是一个插件错误,一个Kotlin错误,还是我遗漏了什么?我不想回到以前的版本。

在Kotlin中使用反射时,gradle插件
3.2.0-alpha03
似乎有问题:

java.lang.VerifyError拒绝类 尝试创建子类的kotlin.reflect.jvm.internal.KClassImpl 错误类 kotlin.reflect.jvm.internal.KDeclarationContainerImpl

修复:

  • 在build.gradle(项目)中将gradle恢复为alpha02
  • 将Android Studio降级至
    3.2金丝雀2
    ,以保持一致性

  • 当您在类路径中有lazy init属性和kotlin reflect包时,这似乎是一个bug,作为一种解决方法,可以将所有lazy init prop转换为非lazy或删除对kotlin reflect的依赖:((


    更新:通过比较kotlin/reflect/jvm/internal/KDeclarationContainerImpl缺失类型检查生成的dex代码,这似乎是android工具链中的一个问题。这是gradle版本3.2.0-alpha03的一个缺陷


    在project的构建中恢复到3.2.0-alpha02。gradle帮了我的忙。

    3.2 Canary 2不会在我的机器上运行
    3.2.0-alpha03
    之前的任何东西

    一切都准备好了吗

    Android Studio 3.1 Beta 3 建造#AI-173.4595152,建造于2018年2月8日 JRE:1.8.0_152-release-1024-b01 x86_64 JVM:JetBrains s.r.o提供的OpenJDK 64位服务器虚拟机 Mac OS X 10.12.6


    对于distributionUrl
    gradle-4.5-all.zip和gradle
    3.2.0-alpha02
    ,如上述答案所述,这是3.2-alpha 3上的一个错误。最新版本(3.2 Canary 5)似乎已经解决了它。

    也有同样的问题,但在运行插入指令的测试时。在重构代码以使用密封类后开始崩溃。没有它们,测试甚至可以在最新的插件上运行。我有一个我认为以前没有过的警告。这可能是原因,但我找不到解决方法:app:'annotationProcessor'dependent cies不会被识别为kapt注释处理器。请将这些工件的配置名称更改为“kapt”:“com.android.databinding:compiler:3.2.0-alpha03”我有同样的问题,有什么解决办法吗?我正在运行
    android Studio 3.2 Canary 2 Build上的
    gradle:3.2.0-alpha02
    ,构建于2018年2月8日我的应用程序构建得很好。可能是因为我用3.2金丝雀3更新了我的gradle,然后为了兼容性而降级。
        apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    apply plugin: 'realm-android'
    apply plugin: 'kotlin-kapt'
    apply plugin: 'io.fabric'
    
    kotlin {
        experimental {
            coroutines "enable"
        }
    }
    
    android {
        compileSdkVersion 27
        buildToolsVersion '27.0.3'
        defaultConfig {
            applicationId "fr.myApp"
            minSdkVersion 16
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            vectorDrawables.useSupportLibrary = true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        dataBinding {
            enabled = true
        }
    }
    
    repositories {
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
        maven { url 'https://jitpack.io' }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    
        // Kotlin :
        //implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
        implementation "org.jetbrains.kotlin:kotlin-stdlib"
        implementation "org.jetbrains.kotlin:kotlin-reflect"
        implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinx_coroutines_version"
        implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinx_coroutines_version"
    
        // Support lib :
        implementation "com.android.support:appcompat-v7:$android_support_version"
        implementation "com.android.support:support-v4:$android_support_version"
        implementation "com.android.support:design:$android_support_version"
        implementation "com.android.support:recyclerview-v7:$android_support_version"
        implementation "com.android.support:cardview-v7:$android_support_version"
        implementation "com.android.support.constraint:constraint-layout:$constraint_layout_version"
    
        // Data binding :
        //kapt "com.android.databinding:compiler:$gradleBuild_version"
    
        // Android lifecycle :
        implementation "android.arch.lifecycle:extensions:1.1.0"
        kapt "android.arch.lifecycle:compiler:$android_arch_version"
    
        // Networking: Retrofit + moshi :
        implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
        implementation "com.squareup.retrofit2:converter-moshi:$retrofit_version"
        implementation "com.squareup.okhttp3:logging-interceptor:$okhttp_version"
        implementation "com.squareup.moshi:moshi-adapters:$moshi_version"
        implementation "com.squareup.moshi:moshi-kotlin:$moshi_version"
    
        // Image downloading and caching :
        implementation "com.squareup.picasso:picasso:$picasso_version"
    
        // Dependencies injection: Dagger 2
        implementation "com.google.dagger:dagger:$dagger_version"
        implementation "com.google.dagger:dagger-android:$dagger_version"
        implementation "com.google.dagger:dagger-android-support:$dagger_version"
        kapt "com.google.dagger:dagger-compiler:$dagger_version"
        kapt "com.google.dagger:dagger-android-processor:$dagger_version"
    
        // Crypto: FB Conceal + SecurePreferences
        implementation 'com.facebook.conceal:conceal:2.0.1@aar'
    
        // Logging: Crashlytics + Timber + Chuck
        implementation "com.jakewharton.timber:timber:$timber_version"
        implementation("com.crashlytics.sdk.android:crashlytics:$crashlitycs_version@aar") {
            transitive = true
        }
        debugImplementation "com.readystatesoftware.chuck:library:$chuck_version"
        releaseImplementation "com.readystatesoftware.chuck:library-no-op:$chuck_version"
    
        // Camera
        implementation "com.github.jkwiecien:EasyImage:$easyImage_version"
    
        // Permissions
        implementation 'com.github.tajchert:nammu:1.2.0'
    
        testImplementation "junit:junit:$junit_version"
        androidTestImplementation("com.android.support.test.espresso:espresso-core:$espresso_version", {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
    }
    
    -dontwarn okio.**
    -dontwarn javax.annotation.**
    -keepclasseswithmembers class * {
        @com.squareup.moshi.* <methods>;
    }
    -keep @com.squareup.moshi.JsonQualifier interface *
    -keepclassmembers class kotlin.Metadata {
        public <methods>;
    }
    -keepclassmembernames class kotlinx.** {
        volatile <fields>;
    }