使用AndroidStudio进行系统应用开发
来源:互联网 发布:apache hadoop 安装 编辑:程序博客网 时间:2024/06/15 10:24
在我们进行Android系统app开发时,我们常常会苦恼于:
- 不能在AndroidStudio中调用系统定制API
- 不能通过AndroidStudio直接运行app
那么要解决这两个问题,我们需要做些准备:
-通过系统编译带有定制API的JAR包
-使AndroidStudio引用相应JAR包
-获取系统签名证书
-使AndroidStudio引用签名证书生成app
获取定制API的JAR包
以framework.jar为例(如果编译生成SDK则可以不需要这一步)
进入/frameworks/base执行mm命令,编译生成framework.jar
进入/out/target/common/obj/
JAVA_LIBRARIES/framework_intermediates
获取classes-full-debug.jar
引用framework.jar
打开AndroidStudio,进入Project Structure将jar包放到libs目录下,右击jar选择Add As Library
打开Project Structure来设置引入的jar包属性,使jar参与编译,但是不打入到apk中
如果是AndroidStudio2.3.3则设置引入的jar为Provided
如果是AndroidsTudio3.0的则设置引入的jar为Compile only
修改整个项目下的build.gradle文件,在allprojects节点下添加
gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:/Users/mac/Documents/MyApplication/test_appops/libs/classes-full-debug.jar') }}
Xbootclasspath/p表示编译时引用该路径下的jar包
修改该工程下的iml文件,将我们的jar包移动到SDK前面
获取系统签名证书
需要使用工具keytool-importkeypair来生成app的签名证书下载地址
将其zip包下载下来,可以得到脚本keytool-importkeypair
在linux环境下使用chmod 777 keytool-importkeypair,赋予脚本权限
进入目录/build/target/product/security,获取platform.pk8、platform.x509.pem系统签名需要的文件
执行命令
./keytool-importkeypair -k system_app_debug.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform
从而得到app的系统签名证书
system_app_debug.keystore
别名alias为platform,密码android
使AndroidStudio引用签名证书
将system_app_debug.keystore放入工程目录下
修改当前工程下的build.gradle文件,在android节点下添加signingConfigs { release { storeFile file("Users/mac/Documents/MyApplication/test_appops/system_app_debug.keystore") storePassword 'android' keyAlias 'platform' keyPassword 'android' } debug { storeFile file("Users/mac/Documents/MyApplication/test_appops/system_app_debug.keystore") storePassword 'android' keyAlias 'platform' keyPassword 'android' }}buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release }}
好了这样就可以直接运行啦~~~
ps:如果引入的jar运行错误,要注意编译环境的jdk与AndroidStudio的jdk对应;如果还不行(我是在Android7.1源码环境、OpenJdk1.8编译),则可以尝试安装Android Studio3.0
下图是调用系统hide接口可编译情况
- 使用AndroidStudio进行系统应用开发
- 使用AndroidStudio进行NDK开发
- 使用AndroidStudio开发系统源码
- 如何使用AndroidStudio进行快速注解开发
- 使用AndroidStudio进行单元测试
- JNI和NDK编程-使用AndroidStudio进行NDK开发
- AndroidStudio 进行 JNI / NDK 开发:初步配置及使用
- Windows下使用AndroidStudio+ReactNative开发Android应用
- Windows下使用AndroidStudio+ReactNative开发Android应用
- Windows下使用AndroidStudio+ReactNative开发Android应用
- 使用AndroidStudio进行Android单元测试
- AndroidStudio使用jni开发
- 使用f5进行集群应用系统改造
- 在Windows系统中使用C++进行Android应用开发的环境搭建
- 【Android】AndroidStudio(Eclipse)如何使用天天模拟器进行调试apk应用。
- 使用Spring进行Web应用开发(一)
- 使用Django进行快速Web应用开发
- 使用swift语言进行IOS应用开发
- Android: AndroidKeyStore 非对称RSA加密解密
- yang模型初解
- JDK安装与环境变量的配置
- java IO笔记(PushbackInputStream)
- 应用性能优化
- 使用AndroidStudio进行系统应用开发
- Kotlin基本类型
- 六级_第三天
- NFS服务器搭建与使用
- Java IO流(三)
- 微信公众号生成菜单接口
- Unity 匹配手机的返回键的方法
- Anaconda 5.0.0 JupyterLab 0.27.0 中配置 plotly 支持
- 关于机器学习你必须了解的十个真相