无法解析':business:diary@debug/compileClasspath': Could not resolve project :fun:push.
无法解决项目:fun:push。 要求: 项目:业务:日记
无法找到项目的匹配配置:fun:push: - 配置'jpushDebugApiElements': - 必需的com.android.build.api.attributes.BuildTypeAttr'debug',找到兼容的值'debug'。 - 必需的com.android.build.gradle.internal.dependency.AndroidTypeAttr'Aar',发现不兼容的值'Apk'。 - 找到com.android.build.gradle.internal.dependency.VariantAttr'jpushDebug'但不是必需的。 - 必需的地图'amap',但没有提供任何价值。 - 必需的org.gradle.api.attributes.Usage'java-api'并找到兼容的值'java-api'。 - 需要按'jpush'并找到兼容的值'jpush'。 - 配置'jpushDebugMetadataElements': - 必需的com.android.build.api.attributes.BuildTypeAttr'debug',找到兼容的值'debug'。 - 必需的com.android.build.gradle.internal.dependency.AndroidTypeAttr'Aar'并发现不兼容的值
我已阅读Migrate to Android Plugin for Gradle 3.0.0,但我添加了missingDimensionStrategy位置而非app模块build.gradle
文件。创建了一个新文件config.gradle
:
project.ext {
setDefaultConfig = {
extension ->
extension.android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
multiDexEnabled true
missingDimensionStrategy 'map', mapImplFlavor//add to here
missingDimensionStrategy 'push', pushImplFlavor
ndk {
abiFilters 'armeabi', 'x86','armeabi-v7a'
}
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName: project.getName()]
}
}
}
}
println("extension : " + extension.android.defaultConfig.getMissingDimensionStrategies().toString())
}
此外,对于导入此文件的所有模块build.gradle
:
apply from: "${rootProject.rootDir}/config.gradle"
apply plugin: AutoBuild
android {
project.ext.setDefaultConfig project //import above code
resourcePrefix "diary_"
`````
最后,当我使用set AutoBuild插件自动应用com.android.application
或com.android.library
插件(即不直接在build.gradle
文件中)和其他操作时。我同步或清理项目时会出现此问题,但构建成功。
我发现AutoBuild插件首先运行,然后是config.gradle
,我还在AutoBuild插件中添加了inject missingDimensionStrategy
,但它没有解决。请帮忙!
答案 0 :(得分:0)
最后,我在模块build.gradle
文件中添加了以下代码来解决此问题:
apply from: "${rootProject.rootDir}/config.gradle"
if (!gradle.startParameter.taskNames.toString().toUpperCase().contains('ASSEMBLE')) {
apply plugin: 'com.android.application'
} else {
apply plugin: com.fec.buildgradle.AutoBuild
}
android {
project.ext.setDefaultConfig project
resourcePrefix "diary_"
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
// in runtime following code is invalid just for sync and clean
if (!gradle.startParameter.taskNames.toString().toUpperCase().contains('ASSEMBLE')) {
sourceSets {
main {
manifest.srcFile "src/main/runAlone/AndroidManifest.xml"
}
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project.ext.dependencies["constraint-layout"]
annotationProcessor project.ext.dependencies["arouterCompiler"]
api project(':baseLib:core')
}
答案 1 :(得分:0)
它给了我同样的错误,我尝试了这里提到的所有建议,但它没有用。然后我刚刚创建了另一个新项目,它运行良好。我知道这不是解决方案,而只是解决方法。