每次打开 APP 都要看着启动页 2 秒,很烦人,既然如此我们把它去掉吧。

学过 Android 开发的都知道,APP 的每个界面都是一个 Activity,然后你点击桌面上的图标之后,其实是启动了这个 APP 的入口 Activity。现在我们这个 APP 的入口 Activity 就是启动页,启动页打开 2 秒后,它就会自动关掉,然后跳转到主界面。

既然我们知道了这个流程,那么要修改它就很容易,我们只要让主界面成为 APP 的入口 Activity,不就可以跳过启动页了。

定位主界面

我们的第一步是确定主界面的 Activity 名称是什么,打开 MT 侧拉栏工具中的 Activity 记录,根据提示启动服务,如果启动成功,返回 MT 后你会看到:

去除启动页 - 图1

现在返回桌面,启动 APP,等它跳转到主界面后,回到 MT 中。

去除启动页 - 图2

从上图中可以看到,我们启动 APP 后,它是先跳转到 WelcomeActivity,然后再跳转到 MainActivity,所以 MainActivity 就是我们要找的主界面了。

修改入口

Activity 的配置保存在 apk 里面的 AndroidManifest.xml 文件中,使用 MT 反编译这个文件。

去除启动页 - 图3

查找入口 Activity 我们只需要搜索 android.intent.action.MAIN 或者 android.intent.category.LAUNCHER 就能快速定位。

    1. <activity
    2. android:theme="@7f0c011a"
    3. android:name="cc.binmt.mtestapp.WelcomeActivity"
    4. android:launchMode="singleTop">
    5. <intent-filter>
    6. <action
    7. android:name="android.intent.action.MAIN" />
    8. <category
    9. android:name="android.intent.category.LAUNCHER" />
    10. </intent-filter>
    11. </activity>

可以看到当前入口 Activity 是 WelcomeActivity,其中 intent-filter 包裹着的那 6 行代码的作用就是让这个 Activity 成为入口并显示在桌面上,所以我们把它去掉。

    1. <activity
    2. android:theme="@7f0c011a"
    3. android:name="cc.binmt.mtestapp.WelcomeActivity"
    4. android:launchMode="singleTop">
    5. </activity>

然后我们要让 MainActivity 成为入口,就给它加上刚刚那段 intent-filter。

    1. <activity
    2. android:name="cc.binmt.mtestapp.MainActivity" />

我们要去掉末尾的 /> 换成 >,并加上 </activity>,然后在它们中间插入 intent-filter,最后如下。

    1. <activity
    2. android:name="cc.binmt.mtestapp.MainActivity" >
    3. <intent-filter>
    4. <action
    5. android:name="android.intent.action.MAIN" />
    6. <category
    7. android:name="android.intent.category.LAUNCHER" />
    8. </intent-filter>
    9. </activity>

最终修改结果:

去除启动页 - 图4

修改完成后点击菜单编译并退出,更新文件到 apk 中后,返回上级对 MTestApp_kill.apk 进行签名,安装生成的 MTestApp_kill_sign.apk。

如果你的修改步骤没错,再次打开 APP 后你会直接进入主界面,不再显示启动页。