Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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中构建多个应用程序_Android_Gradle_Android Gradle Plugin_Android Productflavors - Fatal编程技术网

如何用一个项目在Android中构建多个应用程序

如何用一个项目在Android中构建多个应用程序,android,gradle,android-gradle-plugin,android-productflavors,Android,Gradle,Android Gradle Plugin,Android Productflavors,我需要建立多个应用程序为我们的客户只有一个项目。我目前在gradle用产品口味做这件事。然而,我遇到了一个问题。对于前两个级别,我的应用程序必须包含相同的程序包名称。我的意思是说,例如,我的所有应用程序都应该在其应用程序包名称中包含包名称com.ourcompany。例如: com.ourcompany.clienta.AppA com.ourcompanu.clientb.AppB 我需要一种方法来使用完全不同的软件包名称构建这些应用程序,比如对于clientA,我可以像com.client

我需要建立多个应用程序为我们的客户只有一个项目。我目前在gradle用产品口味做这件事。然而,我遇到了一个问题。对于前两个级别,我的应用程序必须包含相同的程序包名称。我的意思是说,例如,我的所有应用程序都应该在其应用程序包名称中包含包名称com.ourcompany。例如:

com.ourcompany.clienta.AppA
com.ourcompanu.clientb.AppB

我需要一种方法来使用完全不同的软件包名称构建这些应用程序,比如对于clientA,我可以像com.clientcompany.AppA,对于客户端B,它将像com.clientbcompany.AppB。有可能做到这一点吗?

实际上,您可以通过为清单文件中的多个活动提供此意向筛选器,并为这些活动提供不同的标签名称来做到这一点

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

您可以将其他活动链接到这些活动,例如这两个活动是一个新的应用程序


您也可以给他们不同的应用程序图标。

使用
applicationId

productFlavors {
    vanilla {
        applicationId "com.clientacompany.app.a"
    }

    chocolate {
        applicationId "com.clientbcompany.app.b"
    }
}
我不推荐混合情况,这就是为什么我在值中消除了混合情况