Kotlin Деятельность, не включенная в APK

Представляю свой первый код Котлина (новое действие) в установленное приложение для Android. Использование Android Studio 2.3.3, Gradle 3.3. Я могу создавать и запускать приложение, но в момент запуска нового действия Kotlin приложение выходит из строя с не найденным исключением. Анализ APK указывает, что класс Kotlin не был включен в dex (и его multi-dex, проверили оба файла dex).

build.gradle (проект)

buildscript { ext.kotlin_version = '1.1.4' repositories { jcenter() maven { url 'https://maven.fabric.io/public' } mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.google.gms:google-services:3.0.0' classpath 'com.github.triplet.gradle:play-publisher:1.1.4' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'io.fabric.tools:gradle:1.+' classpath 'me.tatarka:gradle-retrolambda:3.2.5' classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.2.1' // For automated ui testing classpath 'com.stanfy.spoon:spoon-gradle-plugin:1.2.2' // For Amazon Device Farm classpath 'com.amazonaws:aws-devicefarm-gradle-plugin:1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } jcenter() maven { url 'http://dl.bintray.com/optimizely/optimizely' } maven { url "https://jitpack.io" } maven { url "http://salesforce-marketingcloud.github.io/JB4A-SDK-Android/repository" } flatDir { dirs 'libs' } } } 

build.gradle (модуль приложения)

 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'io.fabric' apply plugin: 'me.tatarka.retrolambda' apply plugin: 'jacoco' apply plugin: 'spoon' repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } maven { url 'http://salesforce-marketingcloud.github.io/JB4A-SDK-Android/repository' } maven { url "https://maven.google.com" } maven { url "http://maven.tealiumiq.com/android/releases/" } } android { compileSdkVersion 25 buildToolsVersion '25.0.0' sourceSets { main.java.srcDirs += 'src/main/kotlin' } defaultConfig { targetSdkVersion 25 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" // Enabling multidex support. :( multiDexEnabled true } dexOptions { javaMaxHeapSize "8g" dexInProcess true // the magic line } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 compileOptions.incremental = false } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //include our modules compile project(':core') compile project(':data') //android final APP_COMPAT_VERSION = '25.4.0' compile "com.android.support:appcompat-v7:$APP_COMPAT_VERSION" compile "com.android.support:recyclerview-v7:$APP_COMPAT_VERSION" compile "com.android.support:design:$APP_COMPAT_VERSION" compile "com.android.support:multidex:1.0.0" compile "com.android.support:cardview-v7:$APP_COMPAT_VERSION" // google final PLAY_SERVICES_VERSION = '10.2.4' compile "com.google.android.gms:play-services-wallet:$PLAY_SERVICES_VERSION" compile "com.google.android.gms:play-services-location:$PLAY_SERVICES_VERSION" compile "com.google.android.gms:play-services-gcm:$PLAY_SERVICES_VERSION" compile "com.google.android.gms:play-services-plus:$PLAY_SERVICES_VERSION" compile "com.google.android.gms:play-services-identity:$PLAY_SERVICES_VERSION" compile "com.google.android.gms:play-services-analytics:$PLAY_SERVICES_VERSION" compile "com.google.android.gms:play-services-auth:$PLAY_SERVICES_VERSION" compile "com.google.android.gms:play-services-maps:$PLAY_SERVICES_VERSION" compile "org.jetbrains.kotlin:kotlin-stdlib" compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" androidTestCompile jUnit // Unit tests dependencies testCompile jUnit testCompile "org.hamcrest:hamcrest-core:$HAMCREST_VERSION" testCompile "org.hamcrest:hamcrest-library:$HAMCREST_VERSION" testCompile "org.hamcrest:hamcrest-integration:$HAMCREST_VERSION" testCompile 'org.robolectric:robolectric:3.1' testCompile 'org.mockito:mockito-core:1.+' testCompile 'com.google.guava:guava:19.0' testCompile("com.android.support:support-v4:$APP_COMPAT_VERSION") { exclude module: 'support-annotations' } testCompile('org.powermock:powermock-api-mockito:1.6.4') { exclude module: 'objenesis' } testCompile('org.powermock:powermock-module-junit4:1.6.4') { exclude module: 'objenesis' } testCompile 'io.reactivex:rxandroid:1.0.1' testCompile 'io.reactivex:rxjava:1.1.0' // Espresso androidTestCompile('com.android.support.test:runner:0.5') { exclude module: 'support-annotations' } androidTestCompile('com.android.support.test:rules:0.5') { exclude module: 'support-annotations' } androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2') { exclude module: 'support-annotations' } androidTestCompile('com.android.support.test.espresso:espresso-intents:2.2.2') { exclude module: 'support-annotations' } androidTestCompile('com.android.support.test.espresso:espresso-web:2.2.2') { exclude module: 'support-annotations' } androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.2') { exclude module: 'support-annotations' exclude module: 'recyclerview-v7' exclude module: 'appcompat-v7' exclude module: 'design' exclude module: 'support-v4' } // allows java 8 compile compile 'com.annimon:stream:1.1.2' uitestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' developmentCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" } 

и деятельность, которая очень проста:

 class HyperFlashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(hyperflash_activity_layout) } } 

и код запуска:

 public static void launchHyperflashActivity(Activity launchingActivity) { Intent intent = new Intent(launchingActivity, HyperFlashActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); launchingActivity.startActivity(intent); launchingActivity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); } 

Solutions Collecting From Web of "Kotlin Деятельность, не включенная в APK"

У меня когда-то была такая же проблема 1, и в основном исправление заключалось в том, чтобы вместо Android Studio 2.x загрузить Android Studio 3.0 Beta . Это должно устранить вашу проблему, даже если подсветка кода работает при использовании версии 2.x.

Когда вы просматриваете вкладку «Новые функции», вы можете увидеть, что она поддерживает поддержку языка Kotlin, который, по- видимому, не хватало раньше (я думаю, что в этом случае он просто был встроен в Android Studio и специально разработан для требований Android Studio (например, включая класс в файл dex)).

1 : за исключением мультидекса, поскольку мне это не нужно