Java 检索不同风格的applicationId?

Java 检索不同风格的applicationId?,java,android,gradle,Java,Android,Gradle,我想在java代码中动态获取flavor pro的applicationId的全名,我使用free或pro环境编译该代码。您知道不需要手动创建新变量是否可行吗 实际上,我的build.gradle文件: 请尝试context.getPackageName从已编译变量的上下文实例获取整个应用程序Id 要在运行自由变量时访问pro flavor的applicationId,除了在编译时添加BuildConfig字段外,没有其他方法可以尝试context.getPackageName从编译变量的上下文

我想在java代码中动态获取flavor pro的applicationId的全名,我使用free或pro环境编译该代码。您知道不需要手动创建新变量是否可行吗

实际上,我的build.gradle文件:

请尝试context.getPackageName从已编译变量的上下文实例获取整个应用程序Id

要在运行自由变量时访问pro flavor的applicationId,除了在编译时添加BuildConfig字段外,没有其他方法可以尝试context.getPackageName从编译变量的上下文实例获取整个应用程序Id


要在运行自由变量时访问pro flavor的applicationId,除了在编译时添加BuildConfig字段外,没有其他方法

getPackageName从编译的flavor获取包名,而不是从另一个flavor获取包名。哦,抱歉,我误解了这个问题,如果没有变量,则不可能GetPackageName从编译后的版本获取包名,而不是从另一个版本获取包名。哦,对不起,我误解了这个问题,如果没有变量,则不可能
defaultConfig {
    applicationId "com.test.example"
    buildConfigField "String", "PRO_APPLICATION_ID", "\"com.test.example.pro\""
        ...
}

flavorDimensions "tier"
productFlavors {
    free {
        applicationIdSuffix = ".free"
        versionNameSuffix "-free"
    }
    pro {
        applicationIdSuffix = ".pro"
        versionNameSuffix "-pro"
    }
}