Android多应用程序:如何在一个项目中创建两个应用程序?

时间:2020-09-16 11:31:03

标签: java android android-activity

例如,我有一个几乎完整的带有身份验证的Java应用程序,并且需要向该项目中添加另一个应用程序以重用auth代码。

我听说可能会有两种带有不同图标的“主要活动”分别启动。另外,我无法检查此信息,因为不知道此命名方式和之前的尝试是否会以其他方式引导我。

所以问题是如何在Manifest中注册这些活动以及如何配置run菜单? 或者,如果我错了,还有什么方法可以满足我的要求?

谢谢。

2 个答案:

答案 0 :(得分:1)

您应该考虑在应用中使用口味。这样,您就可以为每种口味设置不同的应用名称,图标和代码。

这是在主模块的build.gradle中定义两种风格的示例:

buildTypes {
        debug{...}
        release{...}
    }
    // Specifies one flavor dimension.
    flavorDimensions "main"

productFlavors {
        demo {
            // Assigns this product flavor to the "main" flavor dimension.
            // If you are using only one dimension, this property is optional,
            // and the plugin automatically assigns all the module's flavors to
            // that dimension.
            dimension "main"
            applicationId "com.appdemo"
            versionNameSuffix "-demo"
        }
        full {
            dimension "main"
            applicationId "com.appfull"
            versionNameSuffix "-full"
        }
    }

然后,您可以通过覆盖每种口味的子目录中的默认文件(即yourmodule / demo /和yourmodule / full /

)来设置每个应用程序的资源(图像,代码,字符串...)

答案 1 :(得分:0)

基本上需要使用活动创建两个入口点,并在其中添加图标。

所以留在这里,以防万一。

    <activity android:name=".MainActivity_1"
        android:icon="@mipmap/icon_1">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

    <activity android:name=".MainActivity_2"
        android:icon="@mipmap/icon_2">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
相关问题