android編譯bug

1.

解決方法。

sudo apt-get install m4
sudo apt-get install  g++-multilib gcc-multilib lib32ncurses5-dev lib32readline6-dev lib32z1-dev
sudo apt-get install flex
sudo apt-get install curl
sudo apt-get install bison
sudo apt-get update
 
 

2.

解決方法。

./prebuilts/sdk/tools/jack-admin    list-server
 prebuilts/sdk/tools/jack-admin  start -server
 prebuilts/sdk/tools/jack-admin  stop -server
 
 cd prebuilts/sdk/tools/
 ./jack-admin install-server jack-launcher.jar jack-server-4.8.ALPHA.jar

3.

[  1% 601/35623] Lex: aidl <= system/tools/aidl/aidl_language_l.ll
FAILED: /bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -oout/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_l.cpp system/tools/aidl/aidl_language_l.ll"
flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted (core dumped)
[  1% 601/35623] host Java: guavalib (out/host/common/obj/JAVA_LIBRARIES/guavalib_intermediates/classes)
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 warning
[  1% 601/35623] target Java: core-all (out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes)
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

解決方法。

配置jack-admin.

export LC_ALL=C

5.出現的bug。

[ 34% 17174/49182] Building with Jack: out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
FAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by [email protected])).
Java heap space.
Try increasing heap size with java option '-Xmx<size>'.
Warning: This may have produced partial or corrupted output.
[ 34% 17174/49182] Building with Jack: out/target/common/obj/JAVA_LIBRARIES/libprotobuf-java-micro_intermediates/classes.jack
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

#### make failed to build some targets (01:28:46 (hh:mm:ss)) ####

解決方案:

對prebuilts/sdk/tools/jack-admin文件進行修改:

1.在jack-admin找到如下語句:

JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"

2.修改爲:

JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"

在-cp前添加了-Xmx4096m參數,重啓jack-admin服務:
 

./prebuilts/sdk/tools/jack-admin stop-server

./prebuilts/sdk/tools/jack-admin start-server

ok~

6.

[ 38% 18985/49182] target thumb C++: libskia_static_32 <= external/skia/src/gpu/gl/builders/GrGLSLPrettyPrint.cppninja: fatal: fork: Cannot allocate memory
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

解決方法:

可能一:線程數不夠

1)查看當前最大線程數

sysctl kernel.pid_max

2)重新設定線程上限爲1000000

 echo 1000000 > /proc/sys/kernel/pid_max

3)將新的設定寫入配置文件

echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf

4)更新狀態

sysctl –p

5)

6)

 

 

可能二:Swap緩存不夠

fuge@fuge2008:/newdisk/android-7.1.1_r1$ free -m
              total        used        free      shared  buff/cache   available
Mem:           5926        5188         259          85         478         484
Swap:          7167        1594        5573

1)停止交換分區

swapoff -a

2)給Swap增加5G內存

dd if=/dev/zero of=/home/swapfile bs=1M count=5120

3)設置交換區文件

mkswap /home/swapfile 

4)立即啓用交換區文件

swapon /home/swapfile

5)到/etc/fstab文件配合如下,即配置開機即自動配置Swap。

/home/swapfile swap swap defaults 0 0

 

6)

 

7.

8.

9.

10

11.最後成功了。

[ 99% 49079/49182] host Java: android-icu4j-tests-host (out/host/common/obj/JAVA_LIBRARIES/android-icu4j-tests-host_intermediates/classes)
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
[100% 49182/49182] host Executable: primitives_tests_32 (out/host/linux-x86/obj32/EXECUTABLES/primitives_tests_intermediates/primitives_tests32)

#### make completed successfully (03:53:27 (hh:mm:ss)) ####

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章