前言

在android studio的模拟器中,可以直接通过android studio直接运行  android:sharedUserId="android.uid.system"应用

步骤

  • 生成AOSP源码系统签名

    从AOSP源码中下载platform.pk8和platform.x509.pem文件,来生成系统签名。

    方式一

    1、生成shared.priv.pem

    openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt
    

    2、生成生成pkcs12

    openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name androiddebugkey
    #会提示输入密码,我们这块输入android
    Enter Export Password:android
    Verifying - Enter Export Password:android
    

    3、生成签名debug.keystore

    keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
    

    方式二

    1、下载keytool-importkeypair工具

    git clone https://github.com/getfatday/keytool-importkeypair
    

    2、生成签名debug.keystore

    ./keytool-importkeypair -k ./debug.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias androiddebugkey
    

    PS:上面2中方式,生成的签名的信息都是:

    storePassword 'android'
    keyAlias 'androiddebugkey'
    keyPassword 'android'
    
  • 创建模拟

    Android Studio创建Target中不带Google APIs字样的模拟器即可,因为这种模拟器的系统签名和AOSP源码编译的系统签名是不一样的。

  • Demo示例

    //build.gradle
    android {signingConfigs {debug {storeFile file('../debug.keystore')storePassword 'android'keyAlias 'androiddebugkey'keyPassword 'android'}}......
    }//AndroidManifest.xml
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.lang.systemapp"android:sharedUserId="android.uid.system">......
    </manifest>
    

其他

  • 模拟器adb remount失败

    在sdk目录下tools目录下执行:

    ./emulator @模拟器名称  -writable-system
    

进阶

【模拟器】Android Studio模拟器运行自己的编译的Android源码镜像

参考

  • 安卓studio中模拟器运行system app的解决方法

  • Android 生成系统签名的KeyStore

  • 解决Android模拟器 adb remount失败问题

【模拟器】android Studio 模拟器中直接运行系统应用相关推荐

  1. Android studio 模拟器中只能输入英文 如何输入中文

    由于项目的需要,我需要在Android studio 的模拟器中输入中文,然而让我蛋疼的是模拟器自带的输入只有英文,我在网上寻找解决方法,发现网上说的方法根本不行,可能是网上的方法都是针对早期版本的模 ...

  2. Android Studio模拟器如何把语言设置为中文和设置中文输入法

    文章目录 Android Studio模拟器语言设置为中文 Android Studio模拟器设置中文输入法 Android Studio模拟器安装搜狗输入法 下载搜狗输入法x86的输入法APK 安装 ...

  3. android studio panic,Android Studio模拟器PANIC错误

    Android Studio模拟器突然停止工作.当我尝试运行虚拟设备时,我在事件日志中收到以下错误. 模拟器:PANIC:找不到AVD系统路径.请定义ANDROID_SDK_ROOT仿真器:处理完成, ...

  4. Android studio 模拟器启动黑屏解决办法

    Android studio 模拟器启动黑屏 这学期选修了Android应用开发,学习过程中使用Android studio也遇到了一些小问题,写一些遇到的问题记录一下. 前两天上机实验时模拟器打开全 ...

  5. Android Studio模拟器启动时显示Could not automotically detect an ADB binary

    Android Studio模拟器启动时,会显示Could not automotically detect an ADB binary.的提示信息如图1所示. 图1 提示信息 图1中的提示信息的意思 ...

  6. android studio模拟器进去就闪退,然后提示unfortunately,xx has stopped

    android studio模拟器进去就闪退,然后提示unfortunately,xx has stopped android studio模拟器进去就闪退,然后提示unfortunately,xx ...

  7. Android Studio模拟器运行无反应

    当Android Studio模拟器点击运行无反应 报以下错误: Emulator: PANIC: Cannot find AVD system path. Please define ANDROID ...

  8. 解决android studio模拟器不显示应用问题

    **解决android studio模拟器不显示应用问题** 在使用android studio模拟开发效果的过程中,有的同学可能会遇到模拟器运行了,但是App应用没有运行起来:或者有的同学在模拟AP ...

  9. Android Studio 模拟器无法访问互联网解决方法

    问题描述: Android Studio 中的安卓模拟器无法访问互联网 解决方法: 1: 打开模拟器, 对WALN中的 AndroidWifi的DNS进行修改 打开AS, 启动模拟器 (版本30, A ...

最新文章

  1. 5个步骤实现目标检测
  2. Linux入门-7 Linux管道、重定向以及文本处理
  3. 新时代网管的十二大主要职责(一)
  4. mysql触发器行锁_MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
  5. 乘基取整法是什么_十进制小数转二进制小数乘2取整法的直观理解
  6. QT——QT4.8.5安装与配置
  7. 17年数据分析经验告诉你大数据行业的门道
  8. jdbc Illegal value for setFetchSize()
  9. 随想录(386cpu保护模式)
  10. AcWing 102. 最佳牛围栏
  11. 计算机网络管理人员理论A卷,2011年上半年计算机网络管理员(三级)理论鉴定试题A...
  12. 如何把Nginx做到最优?
  13. 男女洗澡前后区别,太形象了!(文末送书)
  14. 量子力学在计算机上的应用论文,量子力学论文.doc
  15. 一起欣赏:50+ 极具创意的个人简历设计【下篇】
  16. 如何区分PCA PCoA NMDS LDA t-SNE?
  17. Global land use changes are four times greater than previously estimated
  18. git将master分支develop的操作
  19. Linux中top命令参数说明
  20. 兄弟连PHP学习套装,2010年限期促销!

热门文章

  1. R_空间插值_必知必会(一)
  2. 场景理解-资料3-Bottom-Up and Top-Down Attention
  3. 小型机oracle命令,IBM小型机AIX基本命令
  4. 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一...
  5. 计算机保研英语面试问题,计算机保研英语面试自我介绍
  6. 我爱你用计算机二进制怎么表示,520用数学公式怎么表达
  7. js给input控件添加onkeypress属性
  8. 公众号助手后台怎么设置投票功能?
  9. 该身份证绑定的开放平台已达上限
  10. 关于Qrcode的学习