在 Android 口味中 Activity 不会根据口味而改变。仅调用主包 activity

In Android flavors Activity not getting changed based on flavor. Only main package activity is called

我已经创建了 2 种口味(一种和两种)和一种主包装,如您在我分享的图片中所见。这三种口味有单独的三种MainActivity.class。 当我改变风味时,我试图从其风味的 MainActivity.class 更改 textView 内容,但它没有改变。只有布局根据风格而不是 class 被替换。

例如,我将当前风格设置为一个,并将 textView 内容设置为 MainActivity.class 中的 "one" 它没有改变,但它采用主包的 MainActivity.class 并且布局是工作根据味道采取。

项目结构图

Only the layout is getting replaced as per the flavor not the class.

因为"main"的MainActivity.java每次都用

其他两个模块中的包名必须相同。

Java 文件没有被替换 所以,你可以移除 "main".

的 MainActivity

为您的特定风格制作一个清单文件,覆盖新的 activity 风格,如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application>


    <!-- Tutorial activity -->
    <activity android:name="com.colan.flavortest.MainActivity" />
    <activity
        android:name="com.colan.newtwo.MainActivity"
        tools:node="remove" />
    <activity-alias
        android:name="com.colan.newtwo.MainActivity"
        android:targetActivity="com.colan.flavortest.MainActivity"
        tools:replace="android:targetActivity"/>

</application>
</manifest>