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