Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改Android软件包名称以获得免费&;Git中的付费应用程序_Android_Git_Gradle_Android Gradle Plugin_Package Name - Fatal编程技术网

更改Android软件包名称以获得免费&;Git中的付费应用程序

更改Android软件包名称以获得免费&;Git中的付费应用程序,android,git,gradle,android-gradle-plugin,package-name,Android,Git,Gradle,Android Gradle Plugin,Package Name,我开发了同一个应用程序的两个版本:免费版和付费版。这两个分支都基于Git中的“主”分支。有时我会将主分支合并为“免费”和“付费”分支,以使它们保持最新。 但免费和付费应用程序必须有不同的软件包名称。这是否混淆了git提交历史,或者可能是我应该在应用程序构建之前临时重命名包名,并将原始包名保留在git中 但免费和付费应用程序必须有不同的软件包名称 您可以在gradle构建文件中处理此问题。只是做不同的口味。使用applicationIdSuffix标记更改生成或付费应用程序版本的包。例如: pro

我开发了同一个应用程序的两个版本:免费版和付费版。这两个分支都基于Git中的“主”分支。有时我会将主分支合并为“免费”和“付费”分支,以使它们保持最新。 但免费和付费应用程序必须有不同的软件包名称。这是否混淆了git提交历史,或者可能是我应该在应用程序构建之前临时重命名包名,并将原始包名保留在git中

但免费和付费应用程序必须有不同的软件包名称

您可以在gradle构建文件中处理此问题。只是做不同的口味。使用applicationIdSuffix标记更改生成或付费应用程序版本的包。例如:

productFlavors {
    free {
        applicationIdSuffix ".free"
    }

   paid {
       // paid package name does not change.
   }
}
或者,您可以使用packageName标记完全改变每个构建风格

productFlavors {
    free {
        packageName 'com.example.product.free'
    }

   paid {
       packageName 'com.example.product.paid'
       }
}

通常人们使用应用程序内购买来购买这些东西。它有助于促销,当您确认从服务器付款时,在线上并没有付费的APK分发