android编译问题解决记录

在虚拟机中编译android7
1.try ‘jack-diagnose’ or see Jack server log 参考

原因:jack不支持多用户同时编译,所以经常出现jack server报错的现象。主机中的port和虚拟机中的port相同。
解决:
/home/aaron/.jack-server/config.properties
/home/aaron/.jack-settings

编译这两个文件,修改 port值,并保持一致。
例:
SERVER_PORT_SERVICE=8074
SERVER_PORT_ADMIN=8075
这两个文件权限为600

2.Out of memory error 参考

原因: java 虚拟机的默认内存太小不满足编译要求,需要增大内存
解决:修改 prebuilts/sdk/tools/jack-admin 文件,增加 ‘-Xmx’。如下我使用的是 -Xmx4G

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

另外编译需要关闭当前已经运行的 jack-admin,再进行编译才能启动新的 jack-admin

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

3/bin/bash: xmllint: command not found 参考

解决方法安装 xmllint 命令如下:

apt-get install libxml2-utils

4.kernel: Out of memory: Killed process 参考

原因:内存不够
解决:添加swap分区

sudo dd if=/dev/zero of=/root/swapfile bs=1M count=4096
sudo mkswap /root/swapfile
sudo swapon /root/swapfile
echo "/root/swapfile swap swap defaults 0 0" >> /etc/fstab

5.error: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)
LC_ALL=C 是为了去除所有本地化的设置,让命令能正确执行, 但是不可以修改~/.bashrc,会导致终端内中文显示为数字(应该是对应的编码)

export LC_ALL=C 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值