にmultidexを追加した後にこれは、この質問の続きです私のマニフェストでは、Androidの仕様を宣言していません。ここで私のマニフェストである:com.android.dex.DexIndexOverflowException:計装ラン私のアプリケーション
に起因:メソッドIDない[0、0xFFFFの]:65536
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.moduleName.sampleName"
>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>
</manifest>
私は例外を持ちました
だから、ここに私のbuild.gradleファイルが今のように見えるものです:アーカンソー
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
packagingOptions {
exclude 'protobuf.meta'
}
testOptions {
unitTests {
includeAndroidResources = true
}
}
sourceSets {
test.java.srcDirs += ['build/generated/source/apt/test/debug']
}
defaultConfig {
multiDexEnabled true
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
ext.daggerVersion = '2.11'
ext.roomVersion = '1.0.0-rc1'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
testImplementation "org.robolectric:robolectric:3.4.2"
kaptTest "com.google.dagger:dagger-compiler:$daggerVersion"
kaptAndroidTest "com.google.dagger:dagger-compiler:$daggerVersion"
// RxJava
implementation 'io.reactivex.rxjava2:rxjava:2.1.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
// Room
implementation "android.arch.persistence.room:runtime:$roomVersion"
implementation "android.arch.persistence.room:rxjava2:$roomVersion"
kapt "android.arch.persistence.room:compiler:$roomVersion"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.1.51"
androidTestImplementation "android.arch.persistence.room:testing:$roomVersion"
// Dagger
implementation "com.google.dagger:dagger:$daggerVersion"
implementation "com.google.dagger:dagger-android:$daggerVersion"
implementation "com.google.dagger:dagger-android-support:$daggerVersion"
kapt "com.google.dagger:dagger-compiler:$daggerVersion"
kapt "com.google.dagger:dagger-android-processor:$daggerVersion"
implementation 'pl.charmas.android:android-reactive-location2:[email protected]'
implementation 'com.google.android.gms:play-services-location:11.4.2'
implementation 'com.google.android.gms:play-services-places:11.4.2'
//Jackson
implementation 'com.fasterxml.jackson.core:jackson-core:2.9.1'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.1'
implementation 'com.android.support:multidex:1.0.2'
}
私のテストeのパッケージ 'test'が正常に動作しています。 「java.lang.NoClassDefFoundErrorの」 空のテストのため失敗しました計装ラン:
は、テストを実行 テストが失敗した実行開始:私は私のandroidTestクラスのパッケージにいくつかのテストを実行しようとすると
は、しかし、私はこれを取得しますスイート。
まとめると:この問題の
初めは、上記のリンクである - 私は、ジャクソンライブラリを追加した後の方法を大量に持っていたので、私はDEXサポートが追加され、これはこれに私を得ました私は実際にどのように解決するか分からず、いくつかの依存関係を除外し、本当に重要なものだけを残して、プロジェクトをきれいにしようとしている、ビルドパッケージを削除しています。彼らのどれも働かなかった。それは私がこのモジュールでKotlinを使用していますが重要である場合