Android奇淫巧技----Android Studio模拟器将应用变成system app

1.前言

你从来不知道为什么会有这么多神奇的需求,如果再Android板子没下来的时候,又要开发app.而有些API又在sysytem App下才能有用的话.模拟器是一个快速开发的方式…
保证你下载的模拟器后面不可以是Google PLAY,至少是Google APIS,不然root失败
在这里插入图片描述

2.签名

工具栏.Build->Generate Signed Bundle or APK
选择APK进入
PS:我也不知道这步要不要,但是我觉得这步是为了保证我的app唯一
create New 后,创建一个新的签名在这里插入图片描述
第一行的password是数字证书密码.
第二行Alias:是指定数字证书的别名.
剩下的是个人信息,自行填写就是了.点击ok
选择个人需求是debug or release版本签名以及还是对整个apk进行签名l
生成证书后,得到一个.jks文件
然后通过build.gradle文件配置签名.

android{
signingConfigs {
        debug {
             keyAlias 'key0'
        	keyPassword '123456'
        	storeFile file('../zzhkeystore')
        	storePassword '123456'
        }
        release {
             keyAlias 'key0'
        	keyPassword '123456'
        	storeFile file('../zzhkeystore')
        	storePassword '123456'
        }
    }
}

3.打开模拟器

这里打开不可以用Android Studio中普通打开一样.
去到sdk下的tools文件中.执行以下命令

emulator -avd emulatorName -writable-system

中间是模拟器的名字,如果不知道使用emulator -list-avds
执行后,你会发现这有一大堆东西出现。之后,你的模拟器就正常打开了.在这里插入图片描述

4.命令

打开第二个cmd.
保证你的adb加入到了系统变量中!!!
如果没有则到sdk中的platform-tools找到他.
执行命令

adb root

如果adb都不成功…检查一下自己的模拟器能不能root

adb remount

然后人家叫你reboot,你就reboot
在这里插入图片描述

adb reboot

重启后,要重新root和remount!不然也put不进去sysytem/app,知道我们看到了曙光~~!!
在这里插入图片描述
好了,这个时候把你的apk文件放到system/app即可.

adb push E:\project\demo\app\build\outputs\apk\debug /system/app/DemoActivity2

在这里插入图片描述

然后再reboot一次!!!
你就会神奇的发现,模拟器上面,你能看到自己的app了。!!!
然后就可以快乐的开发调试了.

5.校验

在AndroidManifests.xml actvity内加入android:sharedUserId=“android.uid.system”
(其实这里我不知道是加到manifest标签去还是acitivty去,不过我是单Activity架构.所以都ok~剩下的自己去实验哈,知道的请读者告诉我一声,十分感谢)

   val pInfo: PackageInfo
        try {
            pInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS)
            val b = pInfo.applicationInfo.flags and ApplicationInfo.FLAG_SYSTEM != 0
            LogUtil.d(TAG, "是否为系统应用: $b")
        } catch (e: PackageManager.NameNotFoundException) {
            e.printStackTrace()
        }

然后你使用上面的代码校验一下自己的应用是否成功成为超级大爹,成为系统应用!!!权限?小丑罢了~
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值