本文以飛凌嵌入式OKMX6Q/DL平臺為基礎(chǔ)講解,其它imx6 平臺可參考使用,通過本文您可以了解iMX6 Android系統(tǒng)下一些問題的處理思路,希望可以協(xié)助客戶加速產(chǎn)品的研發(fā)速度。 第一章 Android4.4屏幕豎屏修改Android源碼(Android源碼需要整體編譯一遍以后才可以) vim out/target/product/okmx6qd_c/root/init.rc 添加紅框部分,重新編譯燒寫即可
注:1.編譯的時候不要make clean; 2.若沒有這個路徑需要先編譯再修改然后再增量編譯。
第二章 開機屏幕不鎖定有部分客戶想要系統(tǒng)啟動后屏幕默認不鎖定,可以參考以下方法修改后重新編譯鏡像后,將新編譯的鏡像燒寫到imx6開發(fā)板上: 修改/frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件 注:紅色字體為改動部分 /system/media/audio/ui/Unlock.ogg /system/media/audio/ui/WirelessChargingStarted.ogg 添加true false 1
第三章 獲得root權(quán)限如果想要在android下獲取root權(quán)限,可以參考以下方法: 1.用附件su文件替換out/target/product/okmx6qd_c/system/xbin/下的su文件,再將system/extras/su/Android.mk文件改為system/extras/su/Android.txt 2.在init.rc增加root守護進程,該路徑為device/fsl/okmx6qd_c/init.rc,增加如下內(nèi)容: #add for root on property:sys.boot_completed=1 su --daemon #end
注意: 1、root權(quán)限是對所有apk都開放沒有限制的 2、編譯前不要make clean, su 文件在文件夾中
第四章 andriod App獲得簽名如果客戶自己在做好Android應(yīng)用后,安裝不到iMX6開發(fā)板上,可以通過以下設(shè)置system權(quán)限的方法試一試。 可以看一下eclipse中調(diào)試信息如下: Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 這是因為APP的源碼中的AndroidManifest.xml文件中設(shè)置了system權(quán)限,如下:
package="forlinx.example.app" android:versionName="1.0" android:versionCode="1" android:sharedUserId="android.uid.system" /*設(shè)置了system權(quán)限*/ (自己開發(fā)的APP也可以依此手法設(shè)置system權(quán)限) 設(shè)置了system權(quán)限后編譯出的APP需要進行系統(tǒng)的簽名才能正常的安裝運行。
方法一: 1、修改Android.mk文件,加入LOCAL_CERTIFICATE := platform這一行 2、使用make命令來編譯,生成的apk就可以在iMX6開發(fā)板中運行了 這種也是我們源碼中的APP采用的方法。
方法二: 這一種也完成了測試,測試使用的是CanTest的源碼。 1、使用eclipse編譯出對應(yīng)apk文件ForlinxActivity.apk,但是這個apk文件是不能用的。 2、使用SignApk.jar簽名工具對該apk進行簽名 首先在Android源碼中拷貝出platform.pk8、platform.x509.pem 和Signapk三個文件,然后再把編譯出的apk文件拷貝到同一級目錄下。 打開Windows的cmd.exe,然后切換到apk所在的目錄,輸入以下命令: signapk.jar platform.x509.pem platform.pk8 ForlinxActivity.apk new.apk 執(zhí)行后new.apk即為簽名后的文件,這個new.apk就可以安裝到開發(fā)板上了。
適用范圍本文主要適用于飛凌OKMX6DL/Q平臺Android4.4操作系統(tǒng),其他平臺也可以參考,但是不同平臺之間會存在差異,需客戶自行修改以適應(yīng)自己的使用,由于水平有限僅供參考使用。
|