android-5.1编译配置(van)
必备文件:
archives1211.tgz
ubuntu_install_1204.tgz 安装指引:
ubuntu_install_1204/readme.txt 工作目录结构:
git
├── vanzo_team vanzo:tools/vanzo_team.git
└── vanzo_team2 vanzo:tools/vanzo_team2.git
git2
├── vanzo_team vanzo2:tools/vanzo_team.git
└── vanzo_team2 vanzo2:tools/vanzo_team2.git
build_projects vanzo:tools/build_projects.git
build_projects2 vanzo2:tools/build_projects2.git 其他注意事项:
因为新的编译脚本频繁调用vanzo_team*的公共库文件,代码里面采用了直接引用的方式,
所以需要本地环境定制python的library path:
~/git2/vanzo_team/songlixin/config/ln.sh
脚本
am编译脚本核心内容:
zprojects/scripts/mk.sh
11 source zprojects/$project_name/$project_name.env
12 source build/envsetup.sh
18 lunch full_$VANZO_INNER_BOARD_PROJECT_BY_NAME_VALUE-user
23 make -j32
所以想要实现编译快速迭代,可以手动source env文件和envsetup.sh文件,然后按照标准android编译即可。
编译
ccache
ccache对编译速度影响的试验(基于6735 n325b-ubtel):
ccache不打开时完整编译:#### make completed successfully (01:57:30 (hh:mm:ss)) ####
ccache打开后第二次编译:#### make completed successfully (01:23:19 (hh:mm:ss)) #### (此时.ccache目录870MB)
ccache增大容量后第二次编译:#### make completed successfully (37:05 (mm:ss)) #### (此时.ccache目录17GB) ccache安装及增容命令: sudo apt-get install ccache; ccache -M 50G; (ccache默认最大cache为1GB,远远不够)
编译命令
repo init -u vanzo2:platform_lp1_6735m/manifest.git -m vtrunk.xml
repo sync -j32
repo start work --all
ln -s ~/build_projects2/prebuilts-51-64bit prebuilts
nohup ./am n320a-kewei-35m -d // eng版本.如果要user版本,把'-d'参数去掉即可;nohup为不输出log,直接保存在nohup.out文件中
JDK版本需求
4.4: OracleJDK6
5.0: OpenJDK7
可以同时安装,所以一台机器既可以编译4.4也可以编译5.0, 通过update-alternatives切换即可.
(详见老宋脚本git/vanzo_team/songlixin/ubuntu_install_1204/local_install_jre64.sh)
(也可以使用"refactor 155 0"和"refactor 155 1"进行java版本切换)
调试
selinux
android 5.0默认启用selinux,权限控制严格很多.
如果碰到诸如:
E/SELinux ( 127): avc: denied { add } for service=themes.add scontext=u:r:shell:s0 tcontext=u:object_r:default_android_service:s0 tclass=service_manager
E/ServiceManager( 127): add_service('themes.add',60) uid=1000 - PERMISSION DENIED
或是:
W/FileUtils( 681): Failed to chmod(/data/resource-cache): android.system.ErrnoException: chmod failed: EACCES (Permission denied)
的错误,可以从selinux着手去调查.
具体selinux配置在源码'external/sepolicy'目录,但我们的修改一般会overlay,放在'device/mediatek/common/sepolicy'目录.
android-5.1编译配置(van)的更多相关文章
- Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面
Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...
- 安装ubuntu16虚拟机,下载android源码,配置编译环境
Android 源码编译步骤: 我考虑了一下,目前电脑装了SSD,8G内存,使用虚拟机编译源码应该够用. 首先下载虚拟机软件,由于最近一直在使用virtualbox,感觉蛮不错了,下载地址: http ...
- Android 秒级编译 Freeline
http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=2650662410&idx=1&sn=c654fa7b0cc8c91 ...
- Android studio 加速编译方法
JRebel for Android 是一个Android Studio的插件,可以大大加速Android Studio的编译速度,对于小项目来说或许不明显:但是当项目达到一定的规模时,它对于Andr ...
- android NDk环境编译总结
首先,这篇文章的撰写是基于很多前人的优秀的帖子,感谢他们的分享让我能够学习这么多的知识.谢谢 Android NDK开发环境的搭建 前言: Android 上,应用程序的开发,大部分基于 Java 语 ...
- Android源码编译的全过程记录
写本篇文章主要参考了官方文档和网上的一些资料,但是对于Android最新的代码来说,网上资料有些已经过时.本文中步骤已经作者实验,大家可以亲自执行试试.由于没有使用Eclipse的习惯,所以没有做Ec ...
- 【转】Android 源码编译make的错误处理--不错
原文网址:http://blog.csdn.net/ithomer/article/details/6977386 Android源码下载:官方下载 或参考android源码下载方式 Android编 ...
- android.mk android源码编译
http://www.cnblogs.com/chenbin7/archive/2013/01/05/2846863.html Android.mk简单分析 2013-01-05 22:51 by . ...
- Android 环境下编译FFmpeg
Android 环境下编译FFmpeg 开发环境:Ubuntu 12.04.2 LTS , android-sdk-linux, android-ndk-r8e 一 .X264 编译 1. X2 ...
- 分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构
当新建完一个cocos2d-x的项目后.进入到项目中的proj.android中,会看到例如以下的文件夹结构 在VS先把它编译,然后导入到Eclipse中,导入完后会看到多了几个文件 watermar ...
随机推荐
- Visual studio 之常见编译错误(1):syntax error : missing ';' before identifier 'PVOID64'
来自博客:http://blog.csdn.net/chenyusiyuan/article/details/4643313的总结: 一般可通过调整 DirectShow/Include 在 Tool ...
- K-序列(埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛)
题目描述 给一个数组 a,长度为 n,若某个子序列中的和为 K 的倍数,那么这个序列被称为“K 序列”.现在要你 对数组 a 求出最长的子序列的长度,满足这个序列是 K 序列. 输入描述: 第一行为 ...
- mysql省市区数据库表源码
下载 一:创建表 1省: create table CREATE TABLE `provinces` ( `id` ) NOT NULL AUTO_INCREMENT, `provinceid` ...
- XTUOJ 1205 Range
Range Time Limit : 1000 MS Memory Limit : 65536 KB Problem Description For an array, the range funct ...
- CSUOJ 1531 Jewelry Exhibition
Problem G Jewelry Exhibition To guard the art jewelry exhibition at night, the security agency has d ...
- mysql通过字段凝视查找字段名称
有时候表的字段太多.仅仅是大致记得表的凝视,想通过字段凝视查找字段名称,能够用例如以下语句: SELECT COLUMN_NAME,column_comment FROM INFORMATION_SC ...
- Eclipse中JDK的配置
window -> preference -> java -> install jres -> add -> standard vm -> 设置好相应的jre ho ...
- RISC-V指令集的诞生,"V"也表示变化(variation)和向量(vectors)
RISC-V登场,Intel和ARM会怕吗? 张竞扬 摩尔精英 摩尔精英.创始人兼CEO 82 人赞了该文章 在2015年12月的Nature网站上,由U.C. Berkeley等几个大学的研究人员主 ...
- js--11对象的创建方式
<html> <head> <title>Object</title> </head> <body> <script ty ...
- C#变量的作用域
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...