Android静默安装、卸载,应用程序/预装程序

本文详细介绍了如何在Android设备上实现应用的静默安装和卸载,包括对预装程序的操作,涉及到系统权限和Adb命令的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



Android有自己的安全机制,没有root权限的非系统应用是不能实现的。所以应用调试期需要一个root过的手机。

第一步:是要判断手机是否root,如下就是判断手机是否root过,我从网上找的,方便查看就粘过来了
/**
         * 
         * @param pkgCodePath  参数传这个getPackageCodePath()
         * @return
         */

public static boolean isRoot(String pkgCodePath) {
                Process process = null;
                DataOutputStream os = null;
                try {
                        String cmd = "chmod 777 " + pkgCodePath;
                        process = Runtime.getRuntime().exec("su"); // 切换到root帐号
                        os = new DataOutputStream(process.getOutputStream());
                        os.writeBytes(cmd + "\n");
                        os.writeBytes("exit\n");
                        os.flush();
                        process.waitFor();
                } catch (Exception e) {
                        return false;
                } finally {
                        try {
                                if (os != null) {
                                        os.close();
                                }
                                process.destroy();
                        } catch (Exception e) {
                        }
                }
                return true;
        }

第二步:卸载应用,第三方应用的apk存在/data/app/目录下;系统应用的apk存在/system/app/目录下。卸载第三方应用的时候 就是执行 ”pm uninstall 包名“ ;而卸载系统应用的时候  就 不能单一的执行uninstall了,uninstall会返回 failure卸载失败。所以应该用”rm /system/app/apk名“ 删除system/app下的apk包,删除后 Android系统会自动识别并将桌面上的快捷方式删除。

第三步:安装应用,安装第三方应用同样是执行"pm  install apk的路径"。安装系统应用则有点麻烦,要先把apk拷贝到/system/app/中,我用的是cat,因为对linux等命令不熟悉,这次拷贝apk的权限是rw----,就是说除了本应用其他应用都不能对这个apk读写,导致Android系统不能读取apk文件,解析androidmainfest生成快捷方式的动作,最后安装失败。所以我拷贝完之后将这个apk的权限设置成644,再执行一遍cat,这样系统类Android程序就可以安装成功。

大致代码:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system;\n //挂载分区
cat /storage/sdcard0/uninstall_dashi/MiuiVideo.apk > /system/app/MiuiVideo.apk\n
mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system;\n

chmod 644  MiuiVideo.apk; \n
cat /storage/sdcard0/uninstall_dashi/MiuiVideo.apk > /system/app/MiuiVideo.apk\n





住:有的人可能会用虚拟机测试,可能有的虚拟机执行这些需要获得root权限的代码时会报下面这个错:uid 10041 not allowed to su
这是因为虚拟机默认不让第三方应用执行su方法。这时候 需要开启cmd控制台窗口 执行以下代码


控制台代码:
adb shell
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su
chmod 4755 su
su



执行完之后 ,手机就可以执行su了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值