为每个构建变体设置ApplicationID

时间:2017-01-27 11:01:53

标签: android android-studio google-play android-gradle

我需要为构建变体设置我的应用程序ID。

我的build.gradle中有一个defaultConfig,它设置了applicationId

defaultConfig {
    applicationId "mycompany.mainappname"
    minSdkVersion 12

现在我需要将应用程序ID设置为"mycompany.mainappname_fullversion"。 (mainappname和_fullversion之间没有点) 我需要这个,因为我在4年前用这个名字发布了我对googleplay的完整版。

我该怎么做?

我尝试在buildTypes部分中使用applicationIdSuffix语法来添加后缀,但它也为我添加了一个"。"是后缀,在我的情况下错了 - > "mycompany.mainappname_fullversion._fullversion"

buildTypes {
       full {
          applicationIdSuffix '_fullversion' 

我还尝试在构建部分中使用applicationId "mycompany.mainappname_fullversion"设置applicationID,但是我会抛出错误。

如何简单地将applicationID设置为"" mycompany.mainappname_fullversion"在一个构建?

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

尝试从defaultConfig移除applicationId并在每个buildTypes中添加buildTypes { full { applicationId 'mycompany.mainappname_fullversion'

const fs = require('fs');
const execSync = require('child_process').execSync;



module.exports = function(context) {
    const basePath = context.opts.projectRoot;
    const baseWWW = basePath + '/www';

process.chdir('../bmi-surgical-app');
console.log(`New directory: ${process.cwd()}`);

    execSync("ng build --prod --base-href .",{stdio:[0,1,2]});

    var files = fs.readdirSync(baseWWW);
    for (var i = 0; i < files.length; i++) {
      if (files[i].endsWith('.gz')) {
        fs.unlinkSync(baseWWW + '/' + files[i]);
      }
    }
    fs.writeFileSync(baseWWW + '/.gitignore', `# Ignore everything in this directory

*
# Except this file
!.gitignore
`);


};

答案 1 :(得分:0)

src下每个构建变体的目录中放置一个单独的清单。