android 关闭jack_编译Android时禁用Jack Server
编译Android时禁用Jack Server
2017-07-24 15:29:43 +08
字数:818
标签:
Android
本文的代码与方法,基于Android O(8.0)。
简介 ¶
Jack Server,是Jack/Jill工具链中的一个组成部分。
启动一个独立于编译主进程的Server进程,执行Jack工具链的编译过程,与主进程通过端口进行网络通信。
需要启用Jack工具链,而又要禁用Jack Server的情况,是非常少的。
很不幸,孤却遇到了。
单独关闭Jack Server ¶
在prebuilts/sdk/tools/jack_server_setup.mk中,可以看到:
ifdef JACK_SERVER
ifneq ($(JACK_SERVER),true)
jack_server_disabled=true
endif
endif
在prebuilts/sdk/tools/jack中:
JACK_SERVER=${JACK_SERVER:=true}
JACK_MAIN_COMMAND=${JACK_MAIN_COMMAND:="java -Djava.io.tmpdir=$TMPDIR -Dfile.encoding=UTF-8 -XX:+TieredCompilation"}
JACK_REPOSITORY=${JACK_REPOSITORY:=}
#
# If not in server mode, exec jack
#
if [ "$JACK_SERVER" != "true" ]; then
if [ -z "$JACK_REPOSITORY" ]; then
echo "Running Jack without Jack server requires definition of JACK_REPOSITORY" >&2
abort
fi
JACK_JAR=$JACK_REPOSITORY/jack-$JACK_VERSION.jar
if [ ! -r "$JACK_JAR" ]; then
echo "Jack jar \"$JACK_JAR\" is not readable" >&2
abort
fi
exec $JACK_MAIN_COMMAND -jar $JACK_JAR "$@"
echo "Cannot succeed to launch Jack without Jack server" >&2
abort
fi
为了让JACK_JAR=$JACK_REPOSITORY/jack-$JACK_VERSION.jar这句得到一个可执行的jar,
JACK_REPOSITORY需要被设置成prebuilts/sdk/tools/jack/jacks。
所以,单独关闭Jack Server,只需要设置两个环境变量即可。
make 'JACK_SERVER:=false' 'JACK_REPOSITORY:=prebuilts/sdk/tools/jack/jacks'
关闭已运行的Server ¶
关闭已运行的Jack Server,并不能阻止在下次编译时自动启动。
设定编译总开关,还得用上面给出的方法。
而有时,比如编译完成后,需要单独关闭已运行的Server。
因为它占用了大量内存,而又拒不释放!
查看已运行的Server:
jack-admin list-server
关闭已运行的Server:
jack-admin stop-server
jack-admin命令,是编译过程中安装在out/host/linux-x86/bin目录下的。
所以,在启用Jack的make结束后,才可以使用。
未配置环境,或未make完毕时,也可以直接访问prebuilts/sdk/tools/jack-admin来使用。
其它用法,可以查看该命令的帮助。
参考 ¶
孤之前有介绍过《编译Android时禁用Jack》,是指禁用整个Jack/Jill工具链。
android 关闭jack_编译Android时禁用Jack Server相关推荐
- android 关闭jack_编译Android时禁用Jack
编译Android时禁用Jack 2017-07-06 18:18:52 +08 字数:815 标签: Android 本文的代码与方法,基于Android O(8.0). 问题 ¶ 根据Androi ...
- Jack Server--Android N AOSP编译--Failed to contact Jack server
准备 今天正式担任Android7.0(N)项目模块的开发和维护工作,借此机会git和make了一套系统代码用来研究.在编译的过程中,与以往系统不同的是Android7.0系统编译工具链使用了全新的J ...
- [Android Pro] ant 编译android工程
参考文章: http://blog.csdn.net/xyz_lmn/article/details/7268582?reload http://hubingforever.blog.163.com/ ...
- android:自己动手编译Android源码(超详细)
自己动手编译Android源码(超详细) 涅槃1992 2016.06.20 02:12* 字数 4330 阅读 86819评论 89喜欢 339赞赏 7 在Android Studio代码调试一文中 ...
- Android 使用Ant编译Android 工程
如何编译Android 工程? 关于如何编译Android 工程在这篇官方文档这里中解释的比较清楚, 太多的详细的解释我就不说了,RTFM. 我需要说的是我们既可以让IDE替你完成编译的编译工作,也可 ...
- android studio ant编译,Android Studio编译cocos2dx项目
一.所需工具 1.Android studio2.3 2.cocos2dx3.10 3.jdk1.8 4.ndkr9d 5.sdk 6.ant 7.python2.7.14 二.配置环境变量 1.sd ...
- android关闭屏幕背光,Android 的背光控制
echo 23 > /sys/devices/platform/atmel_lcdfb.0/backlight/backlight/brightness http://android.git.k ...
- android studio 闪电编译,Android Studio中Instant Run
Instant Run 翻译成中文叫即时运行或直接运行模板.不过我一般习惯了叫做闪电运行,为什么这么叫?请看图: 小闪电 有个小闪电(2.3.x版本独立有个小闪电,2.0-2.2是和左边运行图标在一块 ...
- 如何编译Android的kernel,编译Android的kernel
一 下载 cd kernel 进入我们刚才创建的kernel文件夹 git branch -avv 查看远程的git 库 我们选择remotes/origin/android-goldfish-2.6 ...
最新文章
- 欧洲、加拿大、澳大利亚新增2.1万个点可购买比特币现金
- mac版sublime 无法下载插件(Vue 代码无高亮问题)
- 【Mybatis】分割字符串
- inotify监听文件夹的变动
- 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains解决
- 开大你的音响,感受HTML5 Audio API带来的视听盛宴
- 【Elasticsearch】elasticsearch里面的关于批量读取mget的用法
- 007-配置IP和DNS
- Mybatis集成日志与ehcache
- 神器!输错命令,fuck 一下,就能自动纠正!
- 成功走职场要找准自己的快捷键
- 虚拟机服务器渗透,对一台虚拟主机服务器的渗透 -电脑资料
- 详细全面 :一份完整的数据分析师成长书单
- 验证性因子分析(二)
- 删除Windows10系统中Wifi名称后边的数字
- 网站挂马危害及其防御措施
- vercel.app无法访问
- 浅析3种电池容量监测方案
- linux非空(linux设置空密码)
- 移动端百度关键词排名SEO优化如何做