0

我无法理解 Android Studio 中的构建变体。我创建了一个空项目并添加了产品风味,如下所示。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    flavorDimensions "version"
    productFlavors {
        demo {
            applicationIdSuffix ".demo"
        }
        full {
            applicationIdSuffix ".full"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

我将项目与 Gradle 文件同步,但我只得到了一个演示首发变体。根据我的理解,我应该得到,

  • 演示调试
  • 演示发布
  • 全调试
  • 完全释放

我有什么不对吗?任何帮助是极大的赞赏。

4

3 回答 3

0

尝试手动将您的项目与成绩文件同步。根据您的 Android Studio 版本使用以下任意一项:

Tools -> Android -> Sync Project with Gradle Files [对于较旧的 Android Studio 版本]

File -> Sync Project with Gradle Files[对于较新的 Android Studio 版本]

于 2021-06-09T18:31:14.853 回答
0

在您的/gradle/gradle-wrapper.properties文件中,将以下设置更新为:

distributionUrl=https://services.gradle.org/distributions/gradle-6.1.1-all.zip

现在,转到Tools -> Android -> Sync Project with Gradle Files

这将下载最新的 Gradle 发行版,并在完成后自动重新加载您的项目并构建变体。

确保将项目的 build.gradle 文件更新为

依赖项 { 类路径 'com.android.tools.build:gradle:4.0.2' }

于 2021-08-05T07:02:28.827 回答
0

像这样指定风味块中每种风味的维度

flavorDimensions "version"
    productFlavors {
        demo {
            dimension 'version'
            applicationIdSuffix ".demo"
        }
        full {
            dimension 'version'
            applicationIdSuffix ".full"
        }
    }
于 2021-06-09T10:50:01.377 回答