`

Android 模拟器运行编译后的源码

阅读更多
          下载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. 或者写一个脚本文件,将替换镜像文件和启动模拟器写入脚本文件,方便启动。



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics