You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中两个NativeActivity的切换实现方案问询

实现两个独立NativeActivity的切换方案

需求:在Android应用中实现两个独立NativeActivity的切换。已知需在<application>标签下配置多个<activity>标签,常规做法是通过Intent指定目标类启动,但两个NativeActivity的android:name均为android.app.NativeActivity,仅关联不同的.so文件。

当前使用的AndroidManifest.xml配置:

<application android:debuggable="true" android:hasCode="false" android:label="cnfgtest" tools:replace="android:icon,android:theme,android:allowBackup,label" android:icon="@mipmap/icon">
    <activity android:configChanges="keyboardHidden|orientation" android:label="app_i_want_to_launch" android:name="android.app.NativeActivity">
        <meta-data android:name="android.app.lib_name" android:value="app_i_want_to_launch"/>
        <intent-filter>
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:configChanges="keyboardHidden|orientation" android:label="app_that_currently_launches" android:name="android.app.NativeActivity">
        <meta-data android:name="android.app.lib_name" android:value="app_that_currently_launches"/>
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
</application>

限制条件:当前构建环境无法编译额外Java代码,需仅基于NativeActivity解决。

解决方案:单独编译自定义NativeActivity子类,生成classes.dex文件加入项目,通过不同的类名来区分两个NativeActivity(参考了@dalmif的部分方案)。

内容的提问来源于stack exchange,提问作者Charles Lohr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 06:45:00