您的位置:首页 > 移动开发 > Android开发

Android 替换系统桌面Launcher

2017-05-23 10:41 309 查看
公司做一个定制的APP,就是开机就打开app,按home还是自己app。我找了很多都是修改framework,这样很麻烦,就相当编源码了(我觉得是这样)。正题:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:sharedUserId="android.uid.system">
<activity android:name=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME.SEADEE"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
我标记的地方 就是关键地方,这样写就会出现 下图
开机的时候会这样显示,还有app一直点返回到退出程序会显示这个。
首先解决 点击返回显示这个东西,就是拦截返回按钮。 我这里在MainActivity中加入此方法
@Override
public void onBackPressed() {
//        super.onBackPressed();
}
现在 基本就是完成了,还有一个主要的问题就是,每次要人选哪个是桌面很麻烦,所以思路就来了。Android本身的Launcher.apk
就是桌面,所以要么我们替换系统的Launcher.apk 要么就改源码,把跳转的链接 跳转到我们自己的apk,我这里实现的是前者。
cmd中运行:
adb push C:\Users\BAO\Desktop\HwLauncher6.apk /system/app 这样就OK了 但是出现一个问题,
报错:adb remount 失败:remount failed: Operation not permitted
发现是权限的问题。 通过以下方式获取权限
方法:
1:adb devices
会出现就说明 你没有链接上,那么你就要看看是什么原因。我这里是360手机助手。
就是这两个货,
我很多时候AndroidStudio链接不上手机也是这个东西,把它结束进程,
它可能不会立刻关闭,你要等几秒,方正就是一定要关闭它们。
再次输入adb devices
就说明你成功了。
2:adb shell
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
chmod 777 /system
cd system
chmod 777 app   注意网上很多都是这样,这个地方写错了导致不成功 是chmod 不是chomd
cd app
ls(这一步可以操作可以不操作,主要看你系统的launcher叫什么名字,输入ls 就出现所有apk 找到你的launcher 我这里是HwLauncher6.apk)
 chmod 777  HwLauncher6.apk
 exit
这样就获取操作
/system/app/HwLauncher6.apk 记住是HwLauncher6.apk的读取修改操作 只有他的。
再次在cmd中运行
adb push C:\Users\BAO\Desktop\HwLauncher6.apk /system/app
出现 ok 成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: