构建和运行
来源:互联网 发布:长城网络还原大师win7 编辑:程序博客网 时间:2024/06/06 09:35
构建系统
构建命令的基本序列如下:
初始化
初始化环境用 envsetup.sh
脚本。注意替换源用一个单一点节省了几个字符,和短的是更普遍的用在文档。
$ source build/envsetup.sh
或
$ . build/envsetup.sh
选择一个目标
选择哪个目标构建 lunch。确切的配置能作为一个参数被通过,例如,
$ lunch full-eng
上面的例子指一个完整的模拟器构建,和所有调试使能。
假如运行没有参数,lunch
将提示你选择一个目标从菜单。
所有构建目标采取 BUILD-BUILDTYPE, BUILD 是一个特定功能组合的代号:
全构建运行在
Galaxy Nexus GSM/HSPA+ ("maguro")full_pandapanda全构建运行在
PandaBoard ("panda")构建类型 使用
user 有限访问;适合产品
userdebug 像 "user" 但是有 root 访问和调试行;调试首选
eng 开发配置用附加调试工具
更多信息关于构建为和运行在实际硬件,看构建设备
编译代码
构建一切红 make。GNU make 能处理并行任务用一个 -jN 参数,和他是常见用于一些任务, N 是 1 和 2 倍,被用来构建电脑硬件线程数。例如,在一个 E5520 机器(2 个 CPU,4核心每个 CPU,2 线程每个核心),最快的构建是使用命令在make -j16 和 make -j32 之间。
$ make -j4
运行它!
你可一运行你的构建在一个模拟器或烧写到一个设备。请注意你有已经选择你的构建目标用 lunch,它是不大不可能的编译运行在一个不同的目标。
烧写一个设备
烧写一个设备,你将需要用 fastboot,应该被包括在你的一个成功编译之后的路径。让设备在到 fastboot 模式,手动的按住恰当的键组合在开机时,或从 shell 用
$ adb reboot bootloader
一旦设备是在 fastboot 模式,运行
$ fastboot flashall -w
-w 选项擦除设备上的 /data 分区,你的第一次烧写一个特定的设备这是有用的,否则是不必要的。
更多信息关于构建为和运行在一个实际硬件,看为设备构建
模拟一个 Android设备
模拟器是自动的添加到你的路径在构建过程。运行模拟器,打字
$ emulator
用 ccache
ccache 十一个编译器缓存为 C 和 C++ ,能帮组 make 构建更快。在源码树的根,做如下:
$ export USE_CCACHE=1
$ export CCACHE_DIR=/<path_of_your_choice>/.ccache
$ prebuilt/linux-x86/ccache/ccache -M 20G
你能 watch ccache 被用来做下面的:
$ watch -n1 -d prebuilt/linux-x86/ccache/ccache -s
OSX 上,你应该替换 linux-x86 用 darwin-x86。
解决常见构建错误
Java版本错误
假如你正试图构建 froyo 或更早的用 Java 1.6,或 gingerbread 或后来的用 Java 1.5,make 将终止和一个消息像这样
************************************************************You are attempting to build with the incorrect versionof java.Your version is: WRONG_VERSION.The correct version is: RIGHT_VERSION.Please follow the machine setup instructions at https://source.android.com/source/download.html************************************************************
这可能造成这的原因
在初始化页安装指定更正 JDK 失败。构建 Android 需要 Sun JDK 5 或 6 取决于你正在构建的发布。
你先前安装的另一个 JDK 在你的路径。你能移除冲突 JDK 从你的路径用:
$ export PATH=${PATH/\/path\/to\/jdk\/dir:/}
Python 版本 3
Repo 是构建于特定功能从 Python 2.x 和不幸的是和 Python 3 不兼容,为了使用 repo,请安装 Python 2.x:
$ apt-get install python
不去分大小写文件系统
假如你正构建在一个 HFS 文件系统在 Mac OS X 上,你可能遭遇一个错误像这样
************************************************************You are building on a case-insensitive filesystem.Please move your source tree to a case-sensitive filesystem.************************************************************
请跟着在初始化页的介绍创建一个区分大小写的磁盘镜像。
没有 USB权限
在大多数 Linux 系统,默认,未经授权的用户不能访问 USB 端口,假如你看到一个权限被拒绝错误,跟着在初始化页的介绍配置 USB 访问。
假如 adb 已经运行和获得规则设置后不能连接到设备,它能被杀死用 adb kill-server
。这将导致 adb 重启用一个新配置。
- 构建和运行
- 构建和运行
- java 构建和运行
- maven的构建和运行
- vue之独立构建和运行时构建
- Android Developers:在命令行构建和运行
- 下载、构建和运行 Windows SDK 示例
- 3.0、Android Studio构建和运行应用
- 2 gradle 构建 和运行task
- java中的编译、运行和构建
- 构建和运行您的应用
- 使用.NET编辑器构建和运行C#程序
- Linux驱动入门——构建和运行模块
- 如何通过qtcreator配置项目的构建和运行
- eclipse中构建ant项目和编译运行ant
- 构建和运行您的应用Instant Run
- 构建hyperledger fabric测试和运行环境(最新版)
- 理解docker部署springboot-构建和运行(一)
- android 遍历找文件
- Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
- 机器学习中的相似性度量
- 触发器中判断 插入 or 更新 or 删除
- 构建和运行
- spring 监听器
- 强制垃圾回收
- Truncate Table user
- proc目录
- 同步 异步 阻塞 非阻塞
- IOS高级开发~Runtime(三)
- ckfinder 无法上传中文文件名的图片的解决方法。
- mahout 源码解析之聚类--聚类模型