android studio 3.0:无法解析项目:乐趣:推送。所需人员:项目:业务:日记

android studio 3.0:无法解析项目:乐趣:推送。所需人员:项目:业务:日记,android,android-studio,gradle,Android,Android Studio,Gradle,无法解析”的依赖关系:业务:diary@debug/compileClasspath':无法解析项目:fun:push。 无法解析项目:乐趣:推送。 要求: 项目:商业:日记 找不到project:fun:push的匹配配置: -配置“jpushdebugapilements”: -必需的com.android.build.api.attributes.BuildTypeAttr“debug”,并找到兼容值“debug”。 -必需的com.android.build.gradle.interna

无法解析
”的依赖关系:业务:diary@debug/compileClasspath':无法解析项目:fun:push。

无法解析项目:乐趣:推送。 要求: 项目:商业:日记

找不到project:fun:push的匹配配置: -配置“jpushdebugapilements”: -必需的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',发现不兼容的值

我已经读过了,但是我添加了missingDimensionStrategy位置,而不是app module
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 plugin自动应用
com.android.application
com.android.library
插件(即,不直接在
build.gradle
文件中)和其他操作时。当我同步或清理项目时会出现此问题,但构建成功


我发现AutoBuild插件首先运行,然后是
config.gradle
,我还在AutoBuild插件中添加了
InjectMissingDimensionStrategy
,但它没有解决问题。请帮忙

最后,我在模块
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')
}

最后,我在module
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')
}

它给了我同样的错误,我尝试了这里提到的所有建议,但都不起作用。然后我刚刚创建了另一个新项目,效果很好。我知道这不是解决方案,只是一个变通办法。

它给了我同样的错误,我尝试了这里提到的所有建议,但都不起作用。然后我刚刚创建了另一个新项目,效果很好。我知道这不是解决方案,只是一种变通办法。

你能发布你主要项目的
设置。gradle
文件吗?设置。gradle:
包括:app',':buildsrc',':business:diary',':business:memberCenter',':business:mall',':fun:push',':fun:map',':baseLib:core',“:baseLib:feccomon”
你的渐变版本是什么?看,这可能会对你有所帮助。好的,在你的
设置中提到的那些模块名称中,gradle
你删除了任何一个吗?例如,如果您已从项目结构中删除
:fun:map
,但忘记从
设置.gradle
文件中删除
:fun:map
。你能检查一下吗?不,我没有删除任何一个。我认为
com.android.builder.core.DefaultProductFlavor#missingDimensionStrategy(java.lang.String,java.lang.String)
perform需要在build.gradle文件中显式地应用com.android.application或com.android.library。您可以发布主项目的
settings.gradle
文件吗,“:buildsrc”、“:business:diary”、“:business:memberCenter”、“:business:mall”、“:fun:push”、“:fun:map”、“:baseLib:core”、“:baseLib:feccomon”你的渐变版本是什么?看,这可能会对你有所帮助。好的,在你的
设置中提到的那些模块名称中,gradle
你删除了任何一个吗?例如,如果您已从项目结构中删除
:fun:map
,但忘记从
设置.gradle
文件中删除
:fun:map
。你能检查一下吗?不,我没有删除任何一个。我认为
com.android.builder.core.DefaultProductFlavor#missingDimensionStrategy(java.lang.String,java.lang.String)
perform需要在build.gradle文件中显式应用com.android.application或com.android.library