下载Android源码以及如何编译,这里就不多介绍了,照着www.android.com给的步骤进行,主要介绍一下使用make命令编译好了源码之后,如何使用模拟器来运行生成的镜像之类的文件。
方式应该有很多,接下来介绍两种方式:
1.源码编译完成,在目录/home/archermind/source/source/out/host/linux-x86/bin 下有很多工具,使用emulator工具可以创建一个模拟器,emulator -memory 1024 \
-partition-size 512 -sdcard /home/archermind/source/source/sd.img
(注意路径)
会自动将系统生成的镜像数据之类的文件烧进这个模拟器,为了方便,可以写个脚本文件,脚本文件命名start.sh ,放在源码文件的根路径下,我的是/home/archermind/source/source/ 路径,start.sh的内容:

#!/bin/bash
ANDROID_PRODUCT_OUT=/home/archermind/source/source/out/target/product/generic \
/home/archermind/source/source/out/host/linux-x86/bin/emulator -memory 1024 \
-partition-size 512 -sdcard /home/archermind/source/source/sd.img -wipe-data &

最后,编译好了源码之后,只要在根目录下运行 source start.sh 就可以运行模拟器了。大部分会选择这种方式启动模拟器。

2. 编译源码中的SDK ,在SDK中创建模拟器,将源码生成的镜像之类的文件,替换掉SDK相应下的文件。

源码中SDK所在路径为:/home/archermind/source/source/out/host/linux-x86/sdk,编译源码,也就是使用make命令编译的时候,默认不编译SDK,编译SKD使用命令lunch sdk-eng 和 make sdk。

编译好了SDK之后,创建avd,进入到tools路径下,/source/source/out/host/linux-x86/sdk/android-sdk_eng.archermind_linux-x86/tools,使用android工具创建avd,
命令: ./android create avd -n name -t 1
查看当前avd :./android list avd
启动模拟器: ./emulator @name 在前面的创建命令中,模拟器命名name
这时候启动的模拟器没有SD卡,可以再创建个SD卡,
命令:mksdcard 256M sdcard.img 还是在tools路径下执行此命令,
启动带有SD 卡的模拟器:
./emulator @name -sdcard sdcard.img

到这一步,启动起来的模拟器是SDK生成的镜像,如果想用源码编译出来的镜像,要替换掉SDK路径下的镜像文件,在SDK的路径/source/source/out/host/linux-x86/sdk/android-sdk_eng.archermind_linux-x86/system-images/android-4.1.1/armeabi-v7a$ 路径下,存放这些镜像文件:
build.prop kernel-qemu NOTICE.txt ramdisk.img source.properties system.img userdata.img
需要替换的文件有 kernel-qemu ramdisk.img system.img userdata.img
在编译好的源码中寻找这些文件:
kernel-qemu 所在路径:
/home/archermind/source/source/prebuilts/qemu-kernel/arm
ramdisk.img system.img userdata.img 所在路径:
/home/archermind/source/source/out/target/product/generic

最后,启动模拟器。
PS:1. 将/source/source/out/host/linux-x86/sdk/android-sdk_eng.archermind_linux-x86/tools 加入环境变量,可以方便打开模拟器。
2. 或者写一个脚本文件,将替换镜像文件和启动模拟器写入脚本文件,方便启动。



更多相关文章

  1. android编译源码+在源码中build工程方法(紧支持jdk1.5)
  2. 编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)
  3. Android项目集成Jenkins(JUnit test & Coverage)
  4. android eclipse 报error loading /system/media/audio/ xxx 错
  5. Android下可用的wide char 函数库
  6. Android(安卓)Studio常见问题——模拟器中关于VT-x is disabled
  7. Jenkins + Unity + Android构建基于Unity的自动编译环境
  8. 快速反编译APK
  9. Android(安卓)数据存储——上

随机推荐

  1. [Android GMS 认证] GTS相关问题
  2. android 如何调用系统自带的程序安装器安
  3. Android(Java):Android jni学习(二)
  4. android linux alsa_amixer
  5. Android 中compiledSDKVersion,minSdkVer
  6. android studio release版本下打印输出日
  7. Android设置StatusBar颜色
  8. cocoscreator构建的android工程报错
  9. ADT-abundle-使用过程中不断出现的错误
  10. 关于Android自定义相机进行拍照(小米手机