在Android gradle构建中,如何通过构建类型更改包名称?

tre*_*ere 6 android gradle android-gradle-plugin

在Android gradle构建中,我可以简单地让构建"覆盖"包名称,如下所示:

productFlavors {
    free {
        applicationId "net.company.appname.free"
    }

    paid {
        applicationId "net.company.appname.paid"
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以通过构建类型执行相同的操作吗?

看起来我只能添加后缀:

buildTypes {
    debug {
        applicationIdSuffix ".debug"
}
    release {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

Ste*_*veC 5

答案有点晚了,但您可以定义 applicationID 的公共部分,例如:

android { 
  defaultConfig { 
    applicationId 'net.company.appname'
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

并让您的风格指定 applicationIdSuffix (如示例中所示),以便为您提供 'net.company.appname.debug' 和 'net.company.appname.release' 或您想要的后缀。