imx6編譯
⑴ android安裝管控——禁止安裝非允許應用
1、有android源碼及開發板,可編譯燒錄。Android4.4.2源碼,飛思卡爾6Q
2、開發板內存和運存有限,並且僅允許打開1到3個定製應用
3、定製應用需要網路升級,系統OTA不維護三方應用升級
4、不考慮adb install和root許可權問題,正式版會關閉這兩項功能
1、三方應用在第一次燒錄時,必須在data分區,即安裝位置必須是,/data/app/三方.apk。且需要保留其自有簽名。
2、僅允許安裝包名和簽名已知且固定的應用。如:com.lucien.test,且SHA1碼為:0E:4A:67:A6*****FC:92:6D:64的應用,二者必須同時滿足時才可安裝。如果判斷是不被允許的安裝包不給用戶任何提示,直接刪除。
修改device\fsl\imx6\imx6.mk
在PRODUCT_COPY_FILES 添加如下兩行
把三方應用及腳本拷貝到device\fsl\imx6\etc\apks目錄下,
_apk.sh:
這個腳本是判斷data/app目錄下是否有文件夾"lucien",如果有則認為已經過應用直接結束,否則就拷貝三方應用到data分區。因為飛思卡爾幾乎沒有技術支持,很多編譯腳本不知在哪裡修改,以前的方案是有個vender目錄直接進去即可。
在packages/apps/PackageInstaller/AndroidManifest.xml添加刪除文件許可權
修改packages/apps/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java
由於markdown語法顏色沒弄出來,這里簡單說明一下。
//add by lucien和//end by lucien之間是添加的主要內容,包名和sha1碼在ALLOW_SHA1 和ALLOW_APP 兩個字元串數組里,這兩個數組的pacakge和sha1下標必須嚴格對應,是為了在 isAllow(PackageInfo info)函數少寫一個for循環。
⑵ 進行OPENGL | ES移植到開發板上,使用軟體包PicoGL,最終編譯完的程序在開發板上運行出錯
換上對應的交叉編譯工具,重新編譯lib庫。
⑶ 如何將dtb反編譯成dts
由於device tree會將一個node的信息分布在各個文件里,查看起來很不方便,比如如下例子,ldb在三個文件中都有配置:
imx6qdl-sabresd.dtsi:
&ldb {
status = "okay";
.......
};
imx6qdl.dtsi:
ldb: ldb@020e0008 {
#address-cells = <1>;
#size-cells = <0>;
......
};
imx6q.dtsi:
&ldb {
compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
.......
}
其實device tree編譯之後最終是會被全部放在一個.dtb結尾的文件,
比如這里是imx6q-sabresd-ldo.dtb,用如下命令就可以看到整個ldb node的內容,而且也可以作為編譯之後的檢查。
[kris@ecovacs:~/kernel_imx/scripts/dtc]$
./dtc -I dtb -O dts ../../arch/arm/boot/dts/imx6q-sabresd-ldo.dtb > ~/f.dts