所需硬件包含
在烧录好对应的android系统之后,只需要一根typeC USB线即可开始app开发
如下图所示,这里可以选择多种模板,如果要灵活操作外设,需要使用JAVA+C的方式,选择Native C++
然后添加工程名称
默认的固件由youyeetoo提供,在他们构建固件时,已经生成了这两个原始文件,这两个文件随系统固件一起提供,如下图,最新版本的固件和签名可以从wiki首页下载
下载这两个文件后,需要转换为jks格式的,转换需要在Linux环境(如ubuntu虚拟机)下进行,命令为
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name platform
keytool -importkeystore -destkeystore platform.keystore -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass platform -alias platform
-name -srcstorepass -alias可以自行指定,这里笔者使用的是 platform,下一步要用到这个信息
此为笔者生成的签名信息
在build.gradle添加如下信息,其中 storePassword keyAlias keyPassword 填入的就是上一步的三个值
在 AndroidManifest.xml 中添加如下信息
android:sharedUserId="android.uid.system"
tools:ignore="Deprecated"
按上述说明操作后,构建出的app就是有系统权限的,可以安装到设备上验证
在命令行下执行 (com.example.testdemo替换为你编译出来的包名)
dumpsys package com.example.testdemo | grep "flags="
如果看到有
SYSTEM_FIXED|GRANTED_BY_DEFAULT|RESTRICTION_SYSTEM_EXEMPT
信息,即说明此应用有系统权限