m1843514989 发表于 2019-11-14 13:31:42

industry版本的SDK进行安卓编译时出现问题

本帖最后由 m1843514989 于 2019-11-15 09:21 编辑

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

Starting build with ninja
ninja: Entering directory `.'
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
Ensure Jack server is installed and started
Jack server already installed in "/home/ma/.jack-server"
Server is already running
Compiling SDK Stubs: out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
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/

又出现以下问题:

target thumb C++: libskia_static_32 <= external/skia/src/images/SkImageDecoder_libjpeg.cppninja: fatal: fork: Cannot allocate memory
make: *** 错误 1

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

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



jpchen 发表于 2019-11-14 14:47:25

{:4_211:}

m1843514989 发表于 2019-11-14 22:00:27

本帖最后由 m1843514989 于 2019-11-14 22:01 编辑

jpchen 发表于 2019-11-14 14:47

高兴的太早了,还是有这个问题,报错如下,(而且是更早出现)请教怎么处理:
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 重新编译。
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 重新编译。
target Java: telephony-common (out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/classes)
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
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 重新编译。
host C++: libLLVMCore_32 <= external/llvm/lib/IR/DebugInfoMetadata.cppninja: fatal: fork: Cannot allocate memory
make: *** 错误 1

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


jpchen 发表于 2019-11-15 08:53:35

m1843514989 发表于 2019-11-14 22:00
高兴的太早了,还是有这个问题,报错如下,(而且是更早出现)请教怎么处理:
target ...

要加多内存条咯
fork: Cannot allocate memory

m1843514989 发表于 2019-11-15 09:20:50

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:25

m1843514989 发表于 2019-11-15 09:20
主机用的VMWare+Ubuntu1404,分配硬盘350GB、内存6GB。

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

编译环境尽量搞一台单独的机器,不用虚拟机,虚拟机编译太耗时间而且内存也和主机分摊,
随着android7.1 android9.0 sdk越来越大,内存也需要更多,长痛不如短痛,直接买一个机器做编译服务器。

m1843514989 发表于 2019-11-15 10:47:54

jpchen 发表于 2019-11-15 09:25
编译环境尽量搞一台单独的机器,不用虚拟机,虚拟机编译太耗时间而且内存也和主机分摊,
随着android7.1 ...

那叫工作站?有没有用过的机型推荐

jpchen 发表于 2019-11-15 11:34:23

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

没有哦,找一个性能高一点的CPU和内存多一些的比如32G,然后再加上几个T的硬盘,那就编译会舒服点

m1843514989 发表于 2019-11-15 22:50:32

本帖最后由 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 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 on usb-fe380000.usb-1.2/input0
rk3399_firefly_aioc_ai_box:/

没差啊

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

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

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

求指教!

页: [1]
查看完整版本: industry版本的SDK进行安卓编译时出现问题