本文硬件平台以飞凌嵌入式OK3399-C开发板为基础进行讲解,其它RK3399产品,由于各个厂家设置不同会有所差异,请参考使用。本文档主要讲解如何建立Android应用开发环境,
包括Android SDK和Android studio集成开发环境的下载及安装,以及如何使用飞凌RK3399开发板作为真机调试程序,非常适合Android初学者学习和参考。
Android应用程序开发一、建立Android应用开发环境
1、下载并安装JDK(Java SE Development Kit)由于Android应用代码都是用Java编写的,因此需要先在Windows上安装JDK,JDK可按以下方法下载:
访问网站http://www.oracle.com/technetwork/java/javase/downloads/index.html,在页面中点击JDK,推荐安装Java8。
点击“Accept License Agreement”根据windows版本选择exe安装程序。您也可以在用户资料资料工具目录找到飞凌提供文件。
下载完成后,双击安装程序,根据向导的提示完成安装即可。
安装完成后,需要将JDK命令添加到Path环境变量中,通过下面的方法将JDK命令所在的路径添加到Path环境变量中:
1)右击“我的电脑”- >属性,再选择左边导航的“高级系统设置”选项。
2)点击右下角的“环境变量”选项。
3)在“系统变量”中,找到Path环境变量,双击它,根据实际安装路径设置java环境变量,默认安装时追加以下内容“C:\Program Files\Java\jdk1.8.0_211\bin”
4)点击“确定”完成环境变量设置。
5) 检查安装是否成功
打开命令提示符工具,输入javac -version
正确显示Java版本即表示安装成功。
2、安装android studioAndroid Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,国内可在http://www.android-studio.org/进行下载安装。建议下载3.1.2版本。
下载完成后按照提示进行安装即可。安装完成后将出现下图所示:
选择“Do not import settings”
选择“Cancel”取消。
点击“next”进行下一步
这里选择“custom”。
根据个人喜好选择UI主题
根据实际情况选择Android SDK的安装路径
选择模拟器的内存大小。
点击“Finish”。
等待安装完成,点击“Finish”。
3、创建helloworld工程1. 选择“start a new android studio project”
2. 修改项目名称
3. 选择最低支持的SDK版本
4. 选择Empty Activity
点击“Next”
点击“Finish”
初次使用时会下载Gradle等工具,请耐心等待。
5. 安装android 9.0 SDK
点击“File”->“settings”搜索SDK打开下图所示界面:
勾选“API28”点击“OK”进行安装。
6. 修改build.gradle
将该文件中所有的29修改为28,点击“Try Again”
7. 编译
点击“build”->“Make Project”重新编译。
8. 运行
编译完成后,将OTG线链接到PC的USB接口中,点击菜单栏中的绿色三角形图标。
点击“OK”,稍等一会程序即在开发板上运行起来。
二、Apk platform签名
Android平台中SELinux将App划分为三种,包括没有platform签名和系统权限的untrusted_app,拥有platform签名没有系统权限的platform_app,和拥有platform签名和系统权限的system_app。本节,将介绍如何给apk签名获得system权限。
1. 制作签名文件
将Android系统中build/target/product/security/platform.x509.pem以及build/target/product/security/platform.pk8拷贝到windows中。
打开命令行窗口执行:
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt
openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name androiddebugkey
输入密码:android
keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
其中key-alias以及password您可以根据需求修改为其它内容。将签名文件debug.keystore文件保存到您的常用目录中。
注意:如果您的windows系统中没有openssl命令,请前往http://slproweb.com/products/Win32OpenSSL.html 下载安装,并设置环境变量。
2. 设置andorid studio
打开任意android studio工程,在AndroidManifest.xml中添加共享UID例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.forlinx.serialporttest"
android:sharedUserId="android.uid.system" >
点击“File”->“project structure”:
添加debug版本和release版本的签名配置,并点击“build types”。
如图设置对应版本的签名配置。
点击android studio的运行按钮,启动app。在串口中输入ps -AZ
确认你的app是否已经成为system_app。
三、系统预装Apk的方法1. 在android系统中新建目录:
mkdir packages/apps/serialporttest
将需要预装的apk(无需签名)拷贝到目录中以serialporttest.apk为例:
cp serialporttest.apk packages/apps/serialporttest
2. 在packages/apps/serialporttest新建Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := serialporttest
LOCAL_SRC_FILES := serialporttest.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := .apk
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_CERTIFICATE := platform
LOCAL_DEX_PREOPT := false
LOCAL_PRIVILEGED_MODULE := true
include $(BUILD_PREBUILT)
3. 同时修改device/rockchip/rk3399/device.mk添加
PRODUCT_PACKAGES += \
serialporttest
4. 重新编译镜像。
四、App获取root权限的方法
飞凌RK3399平台支持app调用“su”获取root权限,默认情况下该功能为未启用状态,启用方法如下:
1、打开开发者选项
打开设置,选择“关于平板电脑”选项,连续点击“版本号”多次,即可进入开发者选项。
2、打开root授权选项
3、重启系统
4、App获取root权限测试
在app中可以使用类似如下代码获取root权限:
Process p = Runtime.getRuntime().exec("su");
原文链接:https://www.forlinx.com/article_view_592.html