如何使用manifest命令“replace”来将主包中的活动替换为具有相同名称但在flavor包中的活动?请参考此链接。
com.name.project/main/
-ActivityA
替换为
com.name.project/pro/
-ActivityA
com.name.project/main/
-ActivityA
替换为
com.name.project/pro/
-ActivityA
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company.app">
<application>
<activity
android:name=".MainActivity"
/>
<activity-alias
android:name="${applicationId}.aliasMain"
android:targetActivity=".MainActivity"/>
</application>
</manifest>
Intent intent = new Intent(); String packageName = context.getPackageName(); ComponentName componentName = new ComponentName(packageName, packageName + ".aliasMain"); intent.setComponent(componentName);
<application>
<activity
android:name=".flavor.MainActivity"/>
<activity-alias
tools:replace="android:targetActivity"
android:name="${applicationId}.aliasMain"
android:targetActivity=".flavor.MainActivity"/>
<activity
tools:node="remove"
android:name=".MainActivity"
/>
</application>