講解:RK3399 Android應(yīng)用開發(fā)

原創(chuàng) 作者 RK3399 2020-12-10 11:42:00 RK3399 RK3399 Android

本文硬件平臺(tái)以飛凌嵌入式OK3399-C開發(fā)板為基礎(chǔ)進(jìn)行講解,其它RK3399產(chǎn)品,由于各個(gè)廠家設(shè)置不同會(huì)有所差異,請(qǐng)參考使用。本文檔主要講解如何建立Android應(yīng)用開發(fā)環(huán)境

包括Android SDK和Android studio集成開發(fā)環(huán)境的下載及安裝,以及如何使用飛凌RK3399開發(fā)板作為真機(jī)調(diào)試程序,非常適合Android初學(xué)者學(xué)習(xí)和參考。

Android應(yīng)用程序開發(fā)

一、建立Android應(yīng)用開發(fā)環(huán)境

1、下載并安裝JDK(Java SE Development Kit)

由于Android應(yīng)用代碼都是用Java編寫的,因此需要先在Windows上安裝JDK,JDK可按以下方法下載:

訪問網(wǎng)站http://www.oracle.com/technetwork/java/javase/downloads/index.html,在頁面中點(diǎn)擊JDK,推薦安裝Java8。

在頁面中點(diǎn)擊JDK,推薦安裝Java8 

 

根據(jù)windows版本選擇exe安裝程序 

點(diǎn)擊“Accept License Agreement”根據(jù)windows版本選擇exe安裝程序。您也可以在用戶資料資料工具目錄找到飛凌提供文件。

下載完成后,雙擊安裝程序,根據(jù)向?qū)У奶崾就瓿砂惭b即可。

安裝完成后,需要將JDK命令添加到Path環(huán)境變量中,通過下面的方法將JDK命令所在的路徑添加到Path環(huán)境變量中:

1)右擊“我的電腦”- >屬性,再選擇左邊導(dǎo)航的“高級(jí)系統(tǒng)設(shè)置”選項(xiàng)。

2)點(diǎn)擊右下角的“環(huán)境變量”選項(xiàng)。

3)在“系統(tǒng)變量”中,找到Path環(huán)境變量,雙擊它,根據(jù)實(shí)際安裝路徑設(shè)置java環(huán)境變量,默認(rèn)安裝時(shí)追加以下內(nèi)容“C:\Program Files\Java\jdk1.8.0_211\bin”

4)點(diǎn)擊“確定”完成環(huán)境變量設(shè)置。

高級(jí)設(shè)置選擇環(huán)境變量設(shè)置 

完成環(huán)境變量設(shè)置 

5) 檢查安裝是否成功

打開命令提示符工具,輸入javac -version

命令提示符工具 

正確顯示Java版本即表示安裝成功。

2、安裝android studio

Android Studio是Google于2013 I/O大會(huì)針對(duì)Android開發(fā)推出的新的開發(fā)工具,國(guó)內(nèi)可在http://www.android-studio.org/進(jìn)行下載安裝。建議下載3.1.2版本。

下載安裝 

下載完成后按照提示進(jìn)行安裝即可。安裝完成后將出現(xiàn)下圖所示:

選擇Do not import settings 

選擇“Do not import settings”

選擇Cancel取消 

選擇“Cancel”取消。

點(diǎn)擊下一步 

點(diǎn)擊“next”進(jìn)行下一步

選擇custom 

這里選擇“custom”。

選擇UI主題 

根據(jù)個(gè)人喜好選擇UI主題

擇Android SDK的安裝路徑 

根據(jù)實(shí)際情況選擇Android SDK的安裝路徑

選擇模擬器的內(nèi)存大小 

選擇模擬器的內(nèi)存大小。

點(diǎn)擊Finish 

點(diǎn)擊“Finish”。

等待安裝完成 

等待安裝完成,點(diǎn)擊“Finish”。

3、創(chuàng)建helloworld工程

1. 選擇“start a new android studio project”

選擇start a new android studio project 

2. 修改項(xiàng)目名稱

修改項(xiàng)目名稱 

3. 選擇最低支持的SDK版本

選擇最低支持的SDK版本 

4. 選擇Empty Activity

選擇Empty Activity 點(diǎn)NEXT 

點(diǎn)擊“Next”

選擇next 

點(diǎn)擊Finish 

點(diǎn)擊“Finish”

耐心等待 

初次使用時(shí)會(huì)下載Gradle等工具,請(qǐng)耐心等待。

5. 安裝android 9.0 SDK

點(diǎn)擊“File”->“settings”搜索SDK打開下圖所示界面:

 

勾選“API28”點(diǎn)擊“OK”進(jìn)行安裝。

點(diǎn)擊Flashing 

6. 修改build.gradle

將該文件中所有的29修改為28,點(diǎn)擊“Try Again”

所有的29修改為28 

7. 編譯

Make Project重新編譯 

點(diǎn)擊“build”->“Make Project”重新編譯。

8. 運(yùn)行

編譯完成后,將OTG線鏈接到PC的USB接口中,點(diǎn)擊菜單欄中的綠色三角形圖標(biāo)。

擊菜單欄中的綠色三角 

點(diǎn)擊OK 

點(diǎn)擊“OK”,稍等一會(huì)程序即在開發(fā)板上運(yùn)行起來。

運(yùn)行成功 

二、Apk platform簽名

Android平臺(tái)中SELinux將App劃分為三種,包括沒有platform簽名和系統(tǒng)權(quán)限的untrusted_app,擁有platform簽名沒有系統(tǒng)權(quán)限的platform_app,和擁有platform簽名和系統(tǒng)權(quán)限的system_app。本節(jié),將介紹如何給apk簽名獲得system權(quán)限。

1. 制作簽名文件

將Android系統(tǒng)中build/target/product/security/platform.x509.pem以及build/target/product/security/platform.pk8拷貝到windows中。

打開命令行窗口執(zhí)行:

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您可以根據(jù)需求修改為其它內(nèi)容。將簽名文件debug.keystore文件保存到您的常用目錄中。

注意:如果您的windows系統(tǒng)中沒有openssl命令,請(qǐng)前往http://slproweb.com/products/Win32OpenSSL.html 下載安裝,并設(shè)置環(huán)境變量。

2. 設(shè)置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" >

點(diǎn)擊“File”->“project structure”:

 

 

添加debug版本和release版本的簽名配置,并點(diǎn)擊“build types”。

 

 

如圖設(shè)置對(duì)應(yīng)版本的簽名配置。

點(diǎn)擊android studio的運(yùn)行按鈕,啟動(dòng)app。在串口中輸入ps -AZ

 

確認(rèn)你的app是否已經(jīng)成為system_app。

三、系統(tǒng)預(yù)裝Apk的方法

1. 在android系統(tǒng)中新建目錄:

mkdir packages/apps/serialporttest

將需要預(yù)裝的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. 同時(shí)修改device/rockchip/rk3399/device.mk添加

PRODUCT_PACKAGES += \

serialporttest

4. 重新編譯鏡像。

 

四、App獲取root權(quán)限的方法

飛凌RK3399平臺(tái)支持app調(diào)用“su”獲取root權(quán)限,默認(rèn)情況下該功能為未啟用狀態(tài),啟用方法如下:

1、打開開發(fā)者選項(xiàng)

 

打開設(shè)置,選擇“關(guān)于平板電腦”選項(xiàng),連續(xù)點(diǎn)擊“版本號(hào)”多次,即可進(jìn)入開發(fā)者選項(xiàng)。

2、打開root授權(quán)選項(xiàng)

 

3、重啟系統(tǒng)

4、App獲取root權(quán)限測(cè)試

在app中可以使用類似如下代碼獲取root權(quán)限:

Process p = Runtime.getRuntime().exec("su");

原創(chuàng):RK3399  2020-12-10 11:42 





相關(guān)產(chǎn)品 >

  • FET3399-C核心板

    飛凌RK3399安卓高性能核心板采用 采用六核Rockchip RK3399芯片,雙Cortex-A72大核+四Cortex-A53小核結(jié)構(gòu),對(duì)整數(shù)、浮點(diǎn)、內(nèi)存等作了大幅優(yōu)化,在整體性能、功耗及核心面積三個(gè)方面提升。以下將對(duì)瑞芯微芯片RK3399參數(shù),RK3399核心板方案及其性能做具體介紹。如您對(duì)飛凌RK3399系列核心板有興趣,歡迎咨詢了解。

    了解詳情
    FET3399-C核心板
  • OK3399-C開發(fā)板

    飛凌嵌入式RK3399安卓開發(fā)板主芯片采用高性能六核CPU Rockchip RK3399,GPU采用Mail-T860四核 GPU,RK3399作為目RK產(chǎn)品線中低功耗、高性能的代表,可滿足人臉識(shí)別設(shè)備、機(jī)器人、無人機(jī)、IoT物聯(lián)網(wǎng)領(lǐng)域應(yīng)用。飛凌RK3399開發(fā)板在整體性能、功耗及核心面積做了大幅度優(yōu)化,更加滿足工業(yè)設(shè)計(jì)需求。飛凌RK3399開發(fā)板為進(jìn)一步減少用戶二次開發(fā)難度,開放了底板原理圖,并提供了RK3399用戶手冊(cè)、芯片手冊(cè),加上優(yōu)質(zhì)的技術(shù)服務(wù),讓您的方案從構(gòu)思到上市時(shí)間縮短。

    了解詳情
    OK3399-C開發(fā)板

推薦閱讀 換一批 換一批