Firefly开源社区

标题: industry版本的SDK进行安卓编译时出现问题 [打印本页]

作者: m1843514989    时间: 2019-11-14 13:31
标题: industry版本的SDK进行安卓编译时出现问题
本帖最后由 m1843514989 于 2019-11-15 09:21 编辑

内核,uboot编译成功,使用命令make -j4 进行安卓编译时出现问题

Starting build with ninja
ninja: Entering directory `.'
[  0% 4/35159] Target buildinfo: out/target/product/rk3399_firefly_aioc_ai/obj/ETC/system_build_prop_intermediates/build.prop
Target buildinfo from: device/rockchip/rk3399/rk3399_firefly_aioc_ai/system.prop
[  0% 15/35159] Ensure Jack server is installed and started
Jack server already installed in "/home/ma/.jack-server"
Server is already running
[  0% 21/35159] Compiling SDK Stubs: out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[  0% 23/35159] build out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack

Try increasing heap size with java option '-Xmx<size>’.
找到解决方式:
编译内存不足,设置为4GB:
# export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g"
# ./prebuilts/sdk/tools/jack-admin kill-server
# ./prebuilts/sdk/tools/jack-admin start-server
# mmm frameworks/base/

又出现以下问题:

[  6% 2286/35159] target thumb C++: libskia_static_32 <= external/skia/src/images/SkImageDecoder_libjpeg.cppninja: fatal: fork: Cannot allocate memory
make: *** [ninja_wrapper] 错误 1

#### make failed to build some targets (33:29 (mm:ss)) ####

试试:记得./bundle/update后执行git rebase FETCH_HEAD




作者: jpchen    时间: 2019-11-14 14:47

作者: m1843514989    时间: 2019-11-14 22:00
本帖最后由 m1843514989 于 2019-11-14 22:01 编辑
jpchen 发表于 2019-11-14 14:47

高兴的太早了,还是有这个问题,报错如下,(而且是更早出现)请教怎么处理:
[  4% 2308/50026] target Java: voip-common (out/target/common/obj/JAVA_LIBRARIES/voip-common_intermediates/classes)
注: frameworks/opt/net/voip/src/java/com/android/server/sip/SipService.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: frameworks/opt/net/voip/src/java/com/android/server/sip/SipService.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[  4% 2312/50026] target Java: ims-common (out/target/common/obj/JAVA_LIBRARIES/ims-common_intermediates/classes)
注: frameworks/opt/net/ims/src/java/com/android/ims/ImsUt.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[  4% 2340/50026] target Java: telephony-common (out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/classes)
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[  4% 2341/50026] target Java: icu4j (out/target/common/obj/JAVA_LIBRARIES/icu4j_intermediates/classes)
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: external/icu/icu4j/main/classes/core/src/com/ibm/icu/impl/Relation.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[  4% 2407/50026] host C++: libLLVMCore_32 <= external/llvm/lib/IR/DebugInfoMetadata.cppninja: fatal: fork: Cannot allocate memory
make: *** [ninja_wrapper] 错误 1

#### make failed to build some targets (10:38 (mm:ss)) ####



作者: jpchen    时间: 2019-11-15 08:53
m1843514989 发表于 2019-11-14 22:00
高兴的太早了,还是有这个问题,报错如下,(而且是更早出现)请教怎么处理:
[  4% 2308/50026] target ...

要加多内存条咯
fork: Cannot allocate memory
作者: m1843514989    时间: 2019-11-15 09:20
jpchen 发表于 2019-11-15 08:53
要加多内存条咯
fork: Cannot allocate memory

主机用的VMWare+Ubuntu1404,分配硬盘350GB、内存6GB。

可能有些编译目标需要耗费大的内存,make -j4过不了!

怎么办呢,直接make,看内存占用4.8GB,不过没报错,就是比较慢。

有些明白为什么安卓用于物联网应用太重的意思了!
作者: jpchen    时间: 2019-11-15 09:25
m1843514989 发表于 2019-11-15 09:20
主机用的VMWare+Ubuntu1404,分配硬盘350GB、内存6GB。

可能有些编译目标需要耗费大的内存,make -j4 ...

编译环境尽量搞一台单独的机器,不用虚拟机,虚拟机编译太耗时间而且内存也和主机分摊,
随着android7.1 android9.0 sdk越来越大,内存也需要更多,长痛不如短痛,直接买一个机器做编译服务器。
作者: m1843514989    时间: 2019-11-15 10:47
jpchen 发表于 2019-11-15 09:25
编译环境尽量搞一台单独的机器,不用虚拟机,虚拟机编译太耗时间而且内存也和主机分摊,
随着android7.1 ...

那叫工作站?有没有用过的机型推荐
作者: jpchen    时间: 2019-11-15 11:34
m1843514989 发表于 2019-11-15 10:47
那叫工作站?有没有用过的机型推荐

没有哦,找一个性能高一点的CPU和内存多一些的比如32G,然后再加上几个T的硬盘,那就编译会舒服点
作者: m1843514989    时间: 2019-11-15 22:50
本帖最后由 m1843514989 于 2019-11-15 23:01 编辑
jpchen 发表于 2019-11-15 11:34
没有哦,找一个性能高一点的CPU和内存多一些的比如32G,然后再加上几个T的硬盘,那就编译会舒服点

好吧

千辛万苦编译出来,下载,发现USB触摸不能用,这是怎么回事,提示:
1|rk3399_firefly:/ $ dmesg | grep touch
[    1.749089] usbcore: registered new interface driver ums-onetouch
[    2.495813] hid-multitouch 0003:222A:0001.0001: input,hidraw0: USB HID v1.10 Device [ILITEK Multi-Touch-V5000] on usb-fe380000.usb-1.2/input0
rk3399_firefly:/ $
正常时:
rk3399_firefly_aioc_ai_box:/ $ dmesg | grep touch
[    2.777011] usbcore: registered new interface driver ums-onetouch
[    3.534337] hid-multitouch 0003:222A:0001.0001: input,hidraw0: USB HID v1.10 Device [ILITEK Multi-Touch-V5000] on usb-fe380000.usb-1.2/input0
rk3399_firefly_aioc_ai_box:/

没差啊

为什么自己编译的和公版的不一样,为啥???

tvbox,公版4可上网,自己用SDK编译的就不能
industry,公版可触摸,自己用SDK编译的就不能

这是闹哪样啊,这感觉很不好,很不好。
注:编译时完全按照手动编译部分,然后统一打包固件。

求指教!






欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1