刚参照了一个小例子在状态栏中添加一个小图标。phone_signal。
改好了framework下base里面的相关文件。改如何进行编译然后用模拟器跑呢?我现在用的是Android系统原理和开发要点详解这本书上的方法
在跟目录下先运行. build/envsetup.sh 
然后在make framework编译整个框架。
在运行./out/host/linux-86/bin/emulator -shell命令来启动模拟器但是为什么一直都查看不到效果呢?
我现在用的是android系统源码。只对某部分framework框架进行修改。如何能改好文件然后编译,用模拟器跑出效果呢?请高手详细解释下。

解决方案 »

  1.   

    看看有没有帮助:
    http://yngate.blog.163.com/blog/static/119095944200951995945494/
      

  2.   

    这里不能上别的网站。只能csdn
      

  3.   

    你能说清楚 对framework作了哪些修改吗
      

  4.   

    这个其实是这样的,
    你只需要先运行. build/envsetup.sh 
    然后mmm frameworks/base
    然后再make snod.
    最重要的是你在起模拟器的时候需要写个脚本使用你编译出来的system.img来启动模拟器。
    如下:#!/bin/sh
    ./out/host/linux-x86/bin/emulator -sysdir ./out/target/product/generic/ -datadir ./out/target/product/generic/ -kernel ./prebuilt/android-arm/kernel/kernel-qemu -ramdisk ./out/target/product/generic/ramdisk.img -system ./out/target/product/generic/system.img -data ./out/target/product/generic/userdata.img -skindir ./development/emulator/skins -skin HVGA
      

  5.   

    我也被编译折磨死了,为什么添加非android开头的包,make framework,make snod;
    之后,编译引用了添加的类的应用程序,就出错!!!!!!!!!!为什么添加的包是android.*,就一点问题也没有!!????????
      

  6.   

    简单点方法,将生成的system.img放到模拟器的启动目录里面,直接启动模拟器就好了。
      

  7.   

    用linux系统呗
    比如ubuntu,安装好eclipse和sdk,eclipse里面设置好参数创建需要的模拟器
    然后make sdk,复制下.classpath文件,指定eclipse下的sdk目录到你编译出来的路径下
    然后修改了framework的东西就make sdk,然后运行模拟器去看看就OK了
      

  8.   

    我不知道 Android 下面的 Makefile 对文件的依赖是不是不够全面,有时候修改了
    某个文件,使用
    mmm framwroks/base
    编译,没有得到想要的效果。
    可以把更多的文件更新,以确保重新编译 frameworks:
    cd frameworks/base/core/
    touch `find`
    # 更新该目录下所有文件,当然并不是有必要更新所有文件,只是图方便索性全更新
    cd ..
    # 返回到 frameworks/base 目录下
    mm
    # 重新编译 frameworks希望对你有作用。