Android_SDK源码编译
SDK源码获取
Note
1.源码不可放在共享目录下编译
2.编译主机不可用ROOT账号登陆
1.SDK下载,拷贝源码压缩包到编译主机目录。
2.进入源码所在目录,输入命令解压。
3.进入解压生成的a133-linux目录,输入命令恢复源码。
首次编译配置
./build.sh lunch
======you are building a133 android======
1. BoardConfig-a133-kickpi-k5.mk
2. BoardConfig-a133-kickpi-k5c.mk
which board would you like (1-2): //选择根据板型K5或者K5C

编译完整镜像
Warning
如果编译Android失败,没有明显报错,可以修改build.sh中Android编译的进程数,将make -j32减小至你设备的实际情况。
Tip
生成的镜像位于a133-android10.0-v2.0/longan/out/。

常见问题
- 安卓编译失败?
编译安卓时失败且没有明显报错,修改以下内容尝试重新编译。

- 编译 yylloc 报错问题?
由于编译环境 ld 不同,可能会导致 yylloc 报错,需要修改代码中的yylloc,实际路径根据报错提示修改。
--- a/longan/kernel/linux-4.9/scripts/dtc/dtc-lexer.lex.c
+++ b/longan/kernel/linux-4.9/scripts/dtc/dtc-lexer.lex.c
@@ -631,8 +631,8 @@ char *yytext;
#include "srcpos.h"
#include "dtc-parser.tab.h"
-//YYLTYPE yylloc;
-extern YYLTYPE yylloc;
+YYLTYPE yylloc;
+//extern YYLTYPE yylloc;
- APP 、文件编译不生效问题?
android 为惰性编译,直接替换后编译,一些APP、文件不一定编译到镜像中,可以通过如下其中一种方式解决。
-
make installclean
-
rm out/target/product/apollo-p2/xxx/xxx
-
编译的条件发生变化(比如文件名、APK名)