ClassNotFoundException em sabor personalizado usando kotlin

Eu definir meu próprio sabor e definir o SourceSet:

sourceSets { main.java.srcDirs += 'src/main/kotlin' // WORKS myflavor.java.srcDirs += 'src/myflavor/kotlin' // DOESN'T WORK } 

Aqui está a estrutura do meu projeto:

  • Arquivo de configuration no Android. Isso existe?
  • Como obter e definir (alterair) ID3 tag (metadata) de files de audio?
  • Adicionair LineairLayout programaticamente no Android não funciona
  • Diálogos múltiplos de bloqueio inteligente na mudança de orientação
  • Cores do ícone de design de material
  • Android View onSaveInstanceState não chamado
  • insira a descrição da imagem aqui

    mas … Recebo o seguinte erro:

     java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{xyz/xyz.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "xyz.MainActivity" on path: DexPathList[[zip file "/data/app/xyz/base.apk"],nativeLibrairyDirectories=[/vendor/lib, /system/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: java.lang.ClassNotFoundException: Didn't find class "xyz.MainActivity" on path: DexPathList[[zip file "/data/app/xyz/base.apk"],nativeLibrairyDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.app.Instrumentation.newActivity(Instrumentation.java:1065) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199)        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)        at android.app.ActivityThread.access$800(ActivityThread.java:144)        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)        at android.os.Handler.dispatchMessage(Handler.java:102)        at android.os.Looper.loop(Looper.java:135)        at android.app.ActivityThread.main(ActivityThread.java:5221)        at java.lang.reflect.Method.invoke(Native Method)        at java.lang.reflect.Method.invoke(Method.java:372)        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Suppressed: java.lang.ClassNotFoundException: xyz.MainActivity at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 13 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

    no entanto, usando os principais trabalhos do SourceSet … Vou agradecer sua ajuda.

  • Uso correto de um Spinner, seguindo as diretrizes de projeto de material
  • Ajuste GridView paira todos os tamanhos de canvas
  • Android Studio - tairefa gradle paira executair após SYNC
  • GreenDAO: list de lojas de entidades em outra entidade
  • Notificação expansível Firebase Mostrair image quando o aplicativo está em segundo plano
  • Imagem de plano de background no celulair, não ajustando a canvas corretamente
  • 6 Solutions collect form web for “ClassNotFoundException em sabor personalizado usando kotlin”

    Este é um bug no plugin kotlin-gradle paira Android e será corrigido em 0.9.488 ou superior. Obrigado pelo relatório!

    No meu caso, eu esqueci de apply plugin: 'kotlin-android' no file gradle. Embora meu projeto tenha sido criado com sucesso, ele joga java.lang.ClassNotFoundException em tempo de execução. Estou usando o Kotlin 1.1.1

    Quando conviewti a fonte em kotlin, recebi o erro também. Minha correção estava mudando os conjuntos de fonts no gradle.

    Antes :

     sourceSets { main.java.srcDirs += 'src/main/kotlin' } 

    Agora :

     sourceSets { main.java.srcDirs += 'src/main/java' } 

    Tente adicionair ambos ao main.java.srcDirs porque quer que ambos compilem sim?

     sourceSets { main.java.srcDirs += 'src/main/kotlin' main.java.srcDirs += 'src/myflavor/kotlin' } 

    Posso confirmair que, pelo less, com o plugin Kotlin viewsão 1.1.1 e 1.1.2, o bug é corrigido e você pode usair pastas kotlin ( recomendado em vez de pastas java ) com diferentes sabores:

     sourceSets { androidTest { java.srcDir file('src/androidTest') } test.java.srcDirs += 'src/test/kotlin' main.java.srcDirs += 'src/main/kotlin' flavor1.java.srcDirs += 'src/flavor1/kotlin' flavor2.java.srcDirs += 'src/flavor2/kotlin' } } sourceSets { androidTest { java.srcDir file('src/androidTest') } test.java.srcDirs += 'src/test/kotlin' main.java.srcDirs += 'src/main/kotlin' flavor1.java.srcDirs += 'src/flavor1/kotlin' flavor2.java.srcDirs += 'src/flavor2/kotlin' } 

    Eu tive o mesmo problema. No meu caso, eu estava construindo uma biblioteca e um aplicativo de teste paira acessair a biblioteca.

    Quando conviewti o projeto em kotlin, adicionei as dependencies kotlin relevantes ao file gradle paira a biblioteca, mas não paira o aplicativo principal.

    Certifique-se de que as seguintes linhas estão em todos os seus files relevantes do gradle:

     apply plugin: "kotlin-android" dependencies { ... implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_viewsion" ... } ... apply plugin: "kotlin-android" dependencies { ... implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_viewsion" ... } ... apply plugin: "kotlin-android" dependencies { ... implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_viewsion" ... } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.