生成
4.0.1
系统
下边就是生成系统的具体命令:
初始化
用
envsetup.sh
脚本初始化环境。
也可以用
”.”
来代替
source
。
$ source build/envsetup.sh
or
$ . build/envsetup.sh
选择一个目标
选择
build
哪个目标使用命令
lunch
,具体的配置可以参数设置,例如
$ lunch full-eng
上边给的例子就是
build
一个全部可以调试的
emulator
。
如果你直接使用
lunch
没有参数的话,会弹出选择目标菜单。
所有的目标可以从
BUILD-BUILDTYPE
中查阅到,
BUILD
可以为下边的几个:
Build name
|
Device
|
Notes
|
full
|
emulator
|
fully configured with all languages, apps, input methods
|
full_maguro
|
maguro
|
full
build running on Galaxy Nexus GSM/HSPA+ ("maguro")
|
full_panda
|
panda
|
full
build running on PandaBoard ("panda")
|
BUILDTYPE
为下边的几个:
Buildtype
|
Use
|
user
|
limited access; suited for production
|
userdebug
|
like "user" but with root access and debuggability; preferred for debugging
|
eng
|
development configuration with additional debugging tools
|
开始
Build
代码
全部
编译
使用
make
命令,
GNU make
通过
-jN
参数可以选择全力发挥
cpu
的功能,一般
N
为
1
或
2
倍硬件的线程数,例如
dual-E5520 machine (2 CPUs, 4 cores per CPU, 2 threads per core)
如果要最快的
Build
,我们可以使用命令
make -j16
或
make -j32
。
$ make -j4
运行它
你不仅可以在
emulator
上运行,也可以刷到设备上(lunch的参数不同)。
刷到设备中
为了刷到设备中,你必须使用
fastboot
工具,如果你
Build
成功,这个会自动加到你的路径中,可以直接使用,在
boot
下通过合适的
key
手动设置你的设备为
fastboot
模式,亦或者你可以通过
shell
命令。
$ adb reboot bootloader
只要设备进入
fastboot
模式,就可以运行
$ fastboot flashall -w
这个
-w
参数是清除
你设备
/data
下的数据的。第一次刷的时候尽量使用这个参数,以后再刷就没有必要清除了。
在设备上运行
这个
emulator
命令自动加到你的
path
路径中了,可以直接运行
$ emulator
使用
ccache
ccache
就是
C/C++
编译器缓存,它能够使
Build
的更快,在源码根目录下进行操作
$ export USE_CCACHE=1
$ export CCACHE_DIR=/<path_of_your_choice>/.ccache
$ prebuilt/linux-x86/ccache/ccache -M 20G
通过下边命令,你可以查看
ccache
的使用情况
$ watch -n1 -d prebuilt/linux-x86/ccache/ccache -s
如果在
OSX
,你应该替换
linux-x86
为
darwin-x86
。
一般
Build
遇到的问题
错误的
Java
版本
如果你试图使用
JDK1.6 Build froyo
或之前版本,亦或者你试图使用
JDK1.5 Build gingerbread
或之后版本,
make
的时候会报下边错误。
************************************************************
You are attempting to build with the incorrect version
of java.
Your version is: WRONG_VERSION.
The correct version is: RIGHT_VERSION.
Please follow the machine setup instructions at
http://source.android.com/download
************************************************************
这个可能是因为下边原因导致的
错误的使用
JDK
的版本,
Building
源码需要版本对应的
Sun JDK 5 or 6
。
另一个
JDK
也在你的
path
路径中,使用的是另一个
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
没有
USB
权限
在大多
Linux
系统,普通的用户默认是没有访问
USB
端口的权限的,你可能会遇到没有权限的错误信息,下边配置下
USB
的访问权限。
如果
adb
正在运行并且不能连接设备,你可以使用
adb kill-server
,这样
adb
会根据配置文件重新运行的。
分享到:
相关推荐
./configure --prefix=/usr/local/android --host aarch64-linux-android --with-pic --disable-shared make -j4;make install 在wsl下面用ndk20编译的, aarch64-linux-android29-clang++ aarch64-linux-android-...
Android编译系统是Android操作系统的核心组成部分,负责将源代码转换为可在设备上运行的二进制文件。它是一个复杂的构建系统,涉及多个层次的配置、编译和打包过程。本文将深入探讨Android编译系统的结构和工作原理...
android反编译工具---逆向助手,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/78533913
交叉编译arm Linux环境下的android-tools-adb工具,本资源包含了完整的Ubuntu1604平台下的android-tools-adb源码包,openssl源码包,zlib源码包。以及完整的编译说明和指导,按照说明操作,可以轻松生成arm平台下可...
在Ubuntu 16.04环境下编译Android 8.1系统时,可能会遇到一系列问题,尤其是涉及到Jack Server的问题。本文将深入解析这些问题及其解决方案。 首先,编译过程中的常见错误通常与系统环境和依赖库的缺失有关。例如,...
Android编译系统优化是指对Android编译系统进行优化,以提高编译速度和生成的APK文件大小。常见的优化方法包括: 1、编译器优化:使用高效的编译器来提高编译速度。 2、缓存机制:使用缓存机制来减少编译时间。 3...
**Android反编译工具-jadx详解** 在移动应用开发领域,尤其是Android平台,开发者们有时需要对APK文件进行逆向工程,以了解其内部工作原理、安全分析或二次开发。这时,Android反编译工具就显得尤为重要。本文将...
1、支持arm 2、支持aarch64
本教程旨在指导用户如何在 Windows 系统环境下使用 Android NDK 来编译 OpenCV 3-contrib,从而生成安卓开发所需的 `.so` 文件。通过这种方式,开发者可以在 Android Studio 中使用 OpenCV 3 中的非免费(nonfree)...
内含移植成功的canutils源码+libsocketcan源码,说明内已经写好编译方法和编译...需要换版本可以直接替换源码,源码使用Android.bp编译canutils(注意Android 7以后的系统才支持Android.bp,否则需要自己改编译脚本)。
"android反编译工具jd-gui"就是这样一个工具,它可以帮助开发者将已编译的Java字节码转换回源代码,便于阅读和分析。JD-GUI是一款强大的反编译工具,特别适用于快速查看和理解Android应用的Java代码。 JD-GUI的主要...
在这个编译工程中,我们将深入探讨如何在 Android 环境下构建和集成 GMSSL 3.0 库,以便为 Android 应用程序提供安全的网络通信功能。 首先,要理解 GMSSL 3.0 的核心功能,它主要提供了加密和解密、数字签名、密钥...
android13 WindowManager-Shell.jar
本文将详细阐述如何在Linux环境下搭建Android交叉编译环境,并针对iperf3.0源码进行编译,以生成适用于Android系统的可执行文件。 首先,交叉编译是指在一个平台上构建另一个平台上的软件。对于Android,我们通常在...
ffmpeg版本4.3.1,openssl版本1.1.1i, android cup架构支持armeabi-v7a,arm64-v8a,x86,x86_64,ffmpeg和openssl都是基于Android API level 21编译的。自测播放本地视频文件,http视频文件和https视频文件均可正常...
title: 'Android 编译问题:Could not find com.android.tools.lint:lint-gradle:26.1.2.'编
本篇将详细介绍如何在Android环境中编译Freetype库,生成适用于64位架构的SO(共享对象)库。 首先,理解Freetype库:Freetype是一个免费的、高质量的类型渲染引擎,它能够读取并渲染各种字体格式,如TrueType、...
通常,Android SDK的路径在Windows系统中可能是`C:\Users\<username>\AppData\Local\Android\Sdk\build-tools`,而在Unix或Mac系统中可能是`/usr/local/opt/android-sdk/build-tools`。将解压后的`build-tools`目录...
android 反编译,jd-gui,dex,apktool android 反编译,jd-gui,dex,apktool android 反编译,jd-gui,dex,apktool android 反编译,jd-gui,dex,apktool android 反编译,jd-gui,dex,apktool android 反编译,jd-gui,...
ffmpeg学习笔记1 编译x264(Win10+android-ndk-r22)生成的arm64-v8a动、静态库 https://blog.csdn.net/aggs1990/article/details/124575758 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者...