遇到的问题
1、You have tried to change the API from what has been previously approved.
使用下方的 make update-api
******************************
You have tried to change the API from what has been previously approved.To make these errors go away, you have two choices:
1) You can add "@hide" javadoc comments to the methods, etc. listed in the
errors above.
2) You can update current.txt by executing the following command:
make update-api
To submit the revised current.txt to the main Android repository,
you will need approval.
******************************
2、ubuntu 16 版本 unsupported reloc 43
sudo cp usr/bin/ld.gold SourcePath/prebuilts/gcc/linux-x86/host/x86-linux-glibc2.11-4.6/x86_64-linux/bin/ld
3、烧写
编译成功后,使用AndroidTool_Release2.35Windows版本烧录。我直接使用rkflashkit在ubuntu上用烧进去始终起不来。应该是少了boot的bin文件和parameter.txt。折腾了很久。
4、串口
rk3288开发板左右两排的插槽,其中下方往上第六排RXTX再加GND,这个是ttyS3。可用于项目的串口通讯中。PC的串口调试工具不要接USB3.0接口(不知道windows行不行)
Ubuntu上串口调试,下载U转串驱动。网上好多就不说了。配置sudo minicom -s 不用sudo后面配置可能无法保存。设置SerialUsb为ttyUSB0。
下载cuteCom这个图形化工具。直接输入ttyUSB0,修改波特率等信息。打开device。可能需要chmod。
5、替换Launcher
由于没有做过这块。找了很久的资料有点茫然。浏览代码时发现 在源码out/target/product/rk3288_box/system/app/Launcher3/Launcher3.apk。于是直接替换该APK重新编译烧写。这样就完成了。
6、加入系统进程
由于APK需要串口通讯。打开ttyS3需要chmod。而且作为Launcher没有系统权限有点过意不去。在manifest文件增加android.uid.system。其次需要对apk使用系统统一的签名。简单的做法是进入build/target/product/security/找到platform.pk8 platform.x509.pem 利用signapk.jar重签 网上很多资料。
7、加入系统进程后SO库报错
项目中使用串口的话,也是想了好久。因为apk解压所有cpu架构的so都有。后来发现同级目录有个lib进去看看都是so的。于是把so考进去就可以了。RK3288查到是armv7a的因此只复制了这一个。