当我迁移到
Android studio 3.0时,我得到以下回溯
* What went wrong: Could not determine the dependencies of task ':celltower:compileExternalNativeBuildJavaWithJavac'. > Could not resolve all task dependencies for configuration ':celltower:externalNativeBuildCompileClasspath'. > Could not resolve project :commonandroidutils. required by: project :celltower > Unable to find a matching configuration of project :commonandroidutils: - Configuration 'debugApiElements': - required com.android.build.api.attributes.BuildTypeAttr 'externalNativeBuild' and found incompatible value 'debug'. - required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'. - Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required. - required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'. - Configuration 'debugRuntimeElements': - required com.android.build.api.attributes.BuildTypeAttr 'externalNativeBuild' and found incompatible value 'debug'. - required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'. - Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required. - required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'. - Configuration 'releaseApiElements': - required com.android.build.api.attributes.BuildTypeAttr 'externalNativeBuild' and found incompatible value 'release'. - required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'. - Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required. - required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'. - Configuration 'releaseRuntimeElements': - required com.android.build.api.attributes.BuildTypeAttr 'externalNativeBuild' and found incompatible value 'release'. - required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'. - Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required. - required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'. > Could not resolve project :wimtutils. required by: project :celltower > Unable to find a matching configuration of project :wimtutils: - Configuration 'debugApiElements': - required com.android.build.api.attributes.BuildTypeAttr 'externalNativeBuild' and found incompatible value 'debug'. - required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'. - Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required. - required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'. - Configuration 'debugRuntimeElements': - required com.android.build.api.attributes.BuildTypeAttr 'externalNativeBuild' and found incompatible value 'debug'. - required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'. - Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required. - required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'. - Configuration 'releaseApiElements': - required com.android.build.api.attributes.BuildTypeAttr 'externalNativeBuild' and found incompatible value 'release'. - required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'. - Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required. - required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'. - Configuration 'releaseRuntimeElements': - required com.android.build.api.attributes.BuildTypeAttr 'externalNativeBuild' and found incompatible value 'release'. - required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'. - Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required. - required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
我的build.gradle就在这里.
apply plugin: 'com.android.library' android { compileSdkVersion 26 buildToolsVersion "26.0.1" defaultConfig { minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { ndkBuild { } } ndk { // abiFilters "armeabi-v7a","x86" abiFilters "armeabi-v7a" moduleName "HelloJNI" //ldLibs.addAll(["android","log"]) } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro' } debug { debuggable true minifyEnabled false ndk { abiFilters "armeabi-v7a","x86" moduleName "HelloJNI" } } externalNativeBuild { ndkBuild { path "src/main/jni/Android.mk" } } } buildTypeMatching 'debug','release' compileOptions { targetCompatibility 1.8 sourceCompatibility 1.8 } } ext { retrofitVersion = '2.1.0' rxJavaVersion = '1.2.1' rxAndroidVersion = '1.2.1' okHttpVersion = '3.4.1' playServicesVersion = '9.8.0' fireBaseVersion = '9.8.0' daggerVersion = '2.7' appCompatV7Version = '26.0.1' } dependencies { implementation fileTree(dir: 'libs',include: ['*.jar']) androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2',{ exclude group: 'com.android.support',module: 'support-annotations' }) implementation "com.android.support:support-annotations:$appCompatV7Version" implementation 'com.google.code.gson:gson:2.7' testImplementation 'junit:junit:4.12' implementation 'com.squareup.retrofit:retrofit:1.9.0' implementation 'com.jakewharton.retrofit:retrofit1-okhttp3-client:1.0.2' implementation "com.squareup.retrofit2:retrofit:$retrofitVersion" implementation "com.squareup.retrofit2:adapter-rxjava:$retrofitVersion" implementation "com.squareup.retrofit2:converter-gson:$retrofitVersion" implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:+' implementation project(':commonandroidutils') implementation project(':wimtutils') }
任何帮助深表感谢!
解决方法
我移出了buildTypes之外的externalNativeBuild并将它放在android下.它开始工作了.
android { .... ... buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'),"x86" moduleName "HelloJNI" } } } externalNativeBuild { ndkBuild { path "src/main/jni/Android.mk" } } buildTypeMatching 'debug','release' ... .... } // end of android