代码之家  ›  专栏  ›  技术社区  ›  Seva Alekseyev

Android库中的generateReleaseBuildConfig错误

  •  0
  • Seva Alekseyev  · 技术社区  · 6 年前

    Android工作室项目。我有两个库模块,它们都没有Java。我试图禁止生成BuildConfig,这样也就没有生成Java。第一个的梯度文件是:

    apply plugin: 'com.android.library'
    
    android {
        compileSdkVersion 26
    
        defaultConfig {
            minSdkVersion 3
            targetSdkVersion 26
    
            externalNativeBuild {
                ndkBuild {
                    abiFilters "armeabi", "x86", "x86_64", "armeabi-v7a", "mips", "arm64-v8a"
                    targets "pad", "gif"
                }
            }
        }
    
        buildTypes {
            release {
                minifyEnabled false
            }
            debug {
                jniDebuggable true
            }
        }
    
        externalNativeBuild {
            ndkBuild {
                path file("src/main/jni/Android.mk")
            }
        }
    }
    
    dependencies {}
    
    afterEvaluate {
        generateReleaseBuildConfig.enabled = false
        generateDebugBuildConfig.enabled = false
    }
    

    对于另一个:

    apply plugin: 'com.android.library'
    
    android {
        compileSdkVersion 26
    
        defaultConfig {
            minSdkVersion 3
            targetSdkVersion 26
    
            externalNativeBuild {
                ndkBuild {
                    abiFilters "armeabi", "x86", "x86_64", "armeabi-v7a", "mips", "arm64-v8a"
                }
            }
        }
    
        buildTypes {
            release {
                minifyEnabled false
            }
            debug {
                jniDebuggable true
            }
        }
    
        externalNativeBuild {
            ndkBuild {
                path file("src/main/jni/Android.mk")
            }
        }
    
        flavorDimensions 'Color'
        productFlavors {
            Blue {
                dimension "Color"
                externalNativeBuild {
                    ndkBuild {
                        cppFlags "-DBLUE"
                    }
                }
            }
            Red {
                dimension "Color"
                externalNativeBuild {
                    ndkBuild {
                        cppFlags "-DRED"
                    }
                }
            }
        }
    }
    
    dependencies {
        implementation project(':Foo')
    }
    
    afterEvaluate {
        generateReleaseBuildConfig.enabled = false
        generateDebugBuildConfig.enabled = false
    }
    

    第一个工作了一段时间,没问题。第二个,我今天刚刚创建的,上面的Gradle同步失败了:

    配置项目“:LibBar”时出现问题。

    无法获取项目的未知属性“generateReleaseBuildConfig”:org.gradle.api.project类型的LibBar。

    如果我把这句话说出来,它会抱怨 generateDebugBuildConfig .

    第二个模块依赖于第一个模块,不确定它是否重要。

    两人都有一份清单 package .

    我错过了什么?我试过清理项目,使缓存失效。Gradle是最新的,Android工作室也是(刚刚更新的)。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Seva Alekseyev    6 年前

    构建系统用当前构建风格装饰步骤名称。所以应该改为:

    afterEvaluate {
        generateBlueReleaseBuildConfig.enabled = false
        generateBlueDebugBuildConfig.enabled = false
        generateRedReleaseBuildConfig.enabled = false
        generateRedDebugBuildConfig.enabled = false
    }