Linux下编译和安装android系统
上一篇文章说到我们已经下载好了android源码并解压,接下来我们terminal进到解压后的目录。利用make命令,开始编译android系统。
1.编译android系统
结果报错了:Your version is: java version "1.6.0_24". The correct version is: Java SE 1.6。原来是需要1.6的jdk,我之前安装的是1.7的。解决办法如下:
$sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu hardy-security main multiverse" $ sudo apt-get update $ sudo apt-get install sun-java6-jdk
在终端中执行:make -j4
-j4:表示用四个线程来编译,这样相对能快点:
恩,不错,开始编译了。编译时间比较长,我们可以去睡个觉。编译好的东西放在这个目录下
larson@larson-pc ~/Android_Dev/Android4_4source/out/target/product/generic $ ls android-info.txt cache.img data fake_packages obj ramdisk.img symbols system.img cache clean_steps.mk dex_bootjars installed-files.txt previous_build_config.mk root system userdata.img
PS:经过多次测试之后,我发现这个make编译可以断点续编,因此如果突然断电,没有关系,继续编译就好了,总有一天会编译成功的!完了以后我这里出现了个这:
+ echo make_ext4fs -S out/target/product/generic/root/file_contexts -l 69206016 -a cache out/target/product/generic/cache.img out/target/product/generic/cache make_ext4fs -S out/target/product/generic/root/file_contexts -l 69206016 -a cache out/target/product/generic/cache.img out/target/product/generic/cache + make_ext4fs -S out/target/product/generic/root/file_contexts -l 69206016 -a cache out/target/product/generic/cache.img out/target/product/generic/cache Creating filesystem with parameters: Size: 69206016 Block size: 4096 Blocks per group: 32768 Inodes per group: 4224 Inode size: 256 Journal blocks: 1024 Label: Blocks: 16896 Block groups: 1 Reserved block group size: 7 Created filesystem with 11/4224 inodes and 1302/16896 blocks + '[' 0 -ne 0 ']' out/target/product/generic/cache.img maxsize=70654848 blocksize=2112 total=69206016 reserve=713856
代表编译成功,恭喜恭喜!
2.安装编译好的Android镜像到模拟器上
2.1设置环境变量
$export PATH=$PATH:~/Android_Dev/android4_4source/out/host/linux-x86/bin $export ANDROID_PRODUCT_OUT=~/Android_Dev/android4_4source/out/target/product/generic
其中,~/Android_Dev/android4_4source/out/host/linux-x86/bin
有我们要执行的emulator命令 ,而
~/Android_Dev/android4_4source/out/target/product/generic
是Android镜像存放目录, 下面执行emulator命令时会用到。
2.2运行模拟器
模拟器运行需要四个文件,分别是Linux Kernel镜像zImage和Android镜像文件system.img、userdata.img和ramdisk.img。执行emulator 命令时,如果不带任何参数,即只输入emulator命令,则Linux Kernel镜像默认使用~/Android/prebuilt/android-arm/kernel目录下的kernel-qemu文件,而 Android镜像文件则默认使用ANDROID_PRODUCT_OUT目录下的system.img、userdata.img和ramdisk.img, 也就是我们刚刚编译出来的镜像问题。
我们也可以以指定的镜像文件来运行模拟器,即运行emulator时,即:
$emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu -sysdir./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img
不同版本的android源码的kenel文件可能在不同位置,上面那个是android2.3的,而4.0的则是这样的:
$ emulator -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img执行之后,我这里报了一个错误:
qemu: could not load initrd 'ramdisk.img'
于是,我按照网上说的办法,把-ramdisk ramdisk.im去掉,模拟器果然跑起来了,可是进不去系统,然后呢。。。我又百度,然后说需要chmod 777 generic/,执行之,有个系统分区太小的错误
emulator: WARNING: system partition size adjusted to match image file (550 MB > 200 MB)
然后我百度找到的答案是,emulator 加入参数 -partition-size 1024 ,即:
相关推荐
linux平台的apk反编译工具,包含apktool+jd-gui+dex2jar,版本说明:jd-gui:0.3.5;...Linux下的android .apk文件反编译工具——apktool ! 可以将.apk 文件反编译为:程序源码(classes.dex)、资源文件
在Linux下编译FFmpeg+android ndk成功的脚本及so库; 包含sh脚本,和fflib编译成功的zip包
交叉编译arm Linux环境下的android-tools-adb工具,本资源包含了完整的Ubuntu1604平台下的android-tools-adb源码包,openssl源码包,zlib源码包。以及完整的编译说明和指导,按照说明操作,可以轻松生成arm平台下可...
将live555源码编译成可供android-ndk使用的动态库 1、linux下新建jni, 将Android.mk、build....2、linux下编译live555, 在linux交叉编译环境已经配置好的情况下,直接在jni目录执行脚本build.sh即可生成live555.so库。
linux下的android apk反编译工具,仅用于学习!使用详情请参考如下文章:http://blog.csdn.net/ljianhui/article/details/38985441
./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-...
ubuntu11.10(64位)虚拟linux系统下 ---修改编译android工程 工具是android应用签名app_signa
资源中包括android4.2.2的adb的源码以及依赖的库的源码。首先进入openssl/crypto中,修改makefile中的CROSS_COMPILE,修改为自己的编译环境,然后执行make,生成libCrypto.a。然后回到adb根目录,同样修改makefile的...
在Ubuntu上下载、编译和安装Android最新内核源代码(LinuxKernel).pdf
androdi反编译工具:apktool+dex2jar-2.0+jd-gui-0.3.5+ 使用说明
linux下android源码编译文档 详细步骤
android linux交叉编译工具aarch64-linux-android-4.9版本!需要的可以下载!
1. Encoder和Decoder一起合并编译 2. android编译生成.so,Linux编译生成.a 3. 详细的请参考 3GPP官网
所以花了点时间研究Android NDK,网上的资料都是讲IDE里的编译方法,这里记录一下命令行下的编译方法,供有需要的朋友参考。 这里以编译hello-gl2为例: 0.安装Android NDK/SDK,设置PATH变量(根据具体情况调整) ...
下载 https://developer.android.google.cn/ndk/downloads/ ...编译ffmpeg:最高版本16b,再高的版本编译出错。...unzip android-ndk-r16b-linux-x86_64.zip 配置 export NDK=/home/quantum6/android-ndk-16b
前提准备 * Android Studio+Cmake+云服务器 * 这里是在阿里云服务器上编译,采用Ubuntu 16.04 64位 * 采用android-ndk-r10e-linux-x86_64.bin编译ffmpeg-2.6.9 * 采用Xshell和Xftp进行服务器的操作
一直习惯使用Windows系统,而Android源代码是不支持在Windows上编译上,于是决定使用虚拟机安装Ubuntu,然后下载、编译和安装Android源代码。 一. 环境准备。 1. 磁盘空间预留20G左右,内存3G,因为一边要跑主机...
linux平台的apk反编译工具,包含apktool+jd-gui+dex2jar,版本说明:jd-gui:0.3.5;dex2jar:0.0.9.15
跨平台(Linux/MacOS/iOS/Android/Windows)自动编译脚本,用户需要先自行安装cmake,并构建CMakelists.txt自定义编译规则,配合此脚本即可编译出对应平台的文件。 Linux:直接在Linux系统上运行此脚本,默认使用gcc...
这是本人编译内核的整个过程,本过程经多次在不同机器上验证都可以通过,但每台机器的安装配置、环境等都不一样,故出现错误是很正常的事。。去百度一下就OK了。。。现在本人将它共享出来。。希望对大家有所帮助!~