标签:ulimit -c unlimited 、core文件、Jack、JACK_SERVER_VM_ARGUMENTS
错误:ninja: build stopped: subcommand failed.
办法一:按照提示:ulimit -c unlimited
该命令的详细解释参考:
命令解释:
ulimint -a 用来显示当前的各种用户进程限制
Linux对于每个用户,系统限制其最大进程数,为提高性能,可以根据设备资源情况,
设置个Linux用户的最大进程数,一些需要设置为无限制:
数据段长度无限制:ulimit -d unlimited
最大内存大小无限制:ulimit -m unlimited
堆栈大小无限制:ulimit -s unlimited
core文件大小无限制:ulimit -c unlimited
core文件的简单介绍 :
在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。
当系统中的一些程序在遇到一些错误以及crash时,系统会自动产生core文件记录crash时刻系统信息,包括内存和寄存器信息,用以程序员日 后debug时可以使用。这些错误包括段错误、非法指令、总线错误或用户自己生成的退出信息等等,一般地,core文件在当前文件夹中存放。
core文件有时可能在你发生错误时,并没有出现在你当前的文件夹中,发生这种情况的原因有两个:一个是当前终端被设置为不能弹出core文件;另一种则是core文件被指定了路径。
对于前者,我们可以使用ulimit命令对core文件的大小进行设定。一般默认情况下,core文件的大小被设置为0,这样系统就不dump出core文件了。这时,使用命令:ulimit -c unlimited进行设置,就可以把core文件的大小设置为无限大,同时也可以使用数字来替代unlimited,对core文件的上限制做更精确的设定。
办法二,修改环境变量:
参考:,键入命令:
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
out/host/linux-x86/bin/jack-admin kill-server
out/host/linux-x86/bin/jack-admin start-server
办法三,修改Jack配置文件:
背景知识:什么是Jack
参考:
简单了解:
我们先来看一下关于Jack server官方介绍:
Jack is a new Android toolchain that compiles Java source into Android dex bytecode. It replaces the previous Android toolchain, which consists of multiple tools, such as javac, ProGuard, jarjar, and dx.
(Jack编译器工具是一套新的Android编译工具用来将Java代码转换为Android dex字节代码。)
参考:
已经做出的修改:
1)、修改prebuilts/sdk/tools/jack-admin 文件,变量JACK_SERVER_VM_ARGUMENTS,添加参数 -Xmx4096M
JACK_SERVER_VM_ARGUMENTS
=”${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096}”
2)、prebuilts/sdk/tools/jack-admin 文件,在 JACK_SERVER_COMMAND=“…… -cp ……” -cp 前添加-Xmx4096m(4096m为内存大小的一半左右,根据所用的主机配置而定)
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"
3)、prebuilts/sdk/tools/README-jack-server.md
-JACK_SERVER_VM_ARGUMENTS="-Xmx2g -Dfile.encoding=UTF-8 -XX:+TieredCompilation" jack-admin start-server
+JACK_SERVER_VM_ARGUMENTS="-Xmx4g -Dfile.encoding=UTF-8 -XX:+TieredCompilation" jack-admin start-server
android u 编译selinux android ninja 编译
转载-
Android编译解决:Missing classes detected while running R8.
Android编译相关问题解决
Android 代码混淆 配置文件 -
Go程序的交叉编译
Go程序的交叉编译是每一位GO程序猿必须掌握的知识点。但是我没有。在昨天,我编译了一个项目,生成了二进制,放到目标机器上,执行报错,错误如下:bash: ./api.linux: cannot execute binary file: Exec format error提示很明显,可执行文件格式错误,不能执行二进制文件。直接定位到了,是目标机器的内核跟我的Macbook Pro不匹配;接着在目标系
cannot execute binar Exec format error GOARCH GO交叉编译 aarch64 -
android ndk 编译选项 android ninja 编译
1. Android.bp 文件是什么? Android.bp 文件首先是 Android 系统的一种编译配置文件,是用来代替原来的 Android.mk 文件的。在 Android7.0 以前,Android 都是使用 make 来组织各模块的编译,对应的编译 配置文件就是 Android.
android ndk 编译选项 android Android.bp语法 Android.mk Android -
mtk android 13编译 android ninja 编译
一,基础介绍 在 Android 7.0 之前,Android 编译系统使用 GNU Make 描述和shell来构建编译规则,模块定义都使用Android.mk进行定义,Android.mk的本质就是Makefile,但是随着Android的工程越来越大,模块越来越多,Makefile组织的项目编译时间
mtk android 13编译 android android studio java Android -
Android mk 编译自己的apk android ninja 编译
只针对我当前遇到的问题,不是所有报这个错都是我这个原因,还要是动手动脑自己看输出打印判断问题所在;答案在最后,看根因的就慢慢看,看结果的请直接跳尾部! 手上有块rk3399的开发板,买的时候只出到8.0,最近看到已适配10.0,就clone下来耍一耍,我用的系统是parrot,用了三四年了,虽然界面不是最炫酷的但是是
Android mk 编译自己的apk Android源码 needed by 编译报错 scripts/dtc/dtc