`
jeffrey123
  • 浏览: 24068 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android 源码修改

 
阅读更多
(1) 支持mmm,mm等命令: 在source的根目录下执行. build/envsetup.sh. (注:.后面有一个空格)

(2) 修改你想要修改的文件: 比如: 修改packages/apps/Calculator 程序的资源文件。

(3) 修改完了, cd packages/apps/Calculator, mmm;

(4)make snod;  这个把system 文件夹下面的东西打包的system.img.

(5) 环境变量设置:
export PATH=$PATH:/home/administrator/mydroid/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=/home/administrator/mydroid/out/target/product/generic

(6) 执行 emulator 命令;

【注】转:http://www.cnblogs.com/zhangweia/archive/2010/08/19/1803445.html

第一部分:添加一个新的应用

    1. 在和系统相同版本的SDK目录下开发自己的android应用
    2. 把开发的android工程放到源码的packages/apps/目录下
    3. 在工程目录下添加Android.mk文件,修改LOCAL_PACKAGE_NAME :=test001 把工程名指定为自己的工程名,我加载的工程为test001
        LOCAL_PATH:= $(call my-dir)  
        include $(CLEAR_VARS)

        LOCAL_MODULE_TAGS := user

        LOCAL_SRC_FILES := $(call all-java-files-under, src)

        LOCAL_STATIC_JAVA_LIBRARIES := googlelogin-client

        LOCAL_PACKAGE_NAME :=test001
        LOCAL_CERTIFICATE := shared

        include $(BUILD_PACKAGE)

        # Use the folloing include to make our test apk.
        include $(call all-makefiles-under,$(LOCAL_PATH))
    4. 回到源码目录,然后执行 . build/envsetup.sh 注意sh后面有个空格
    5. 执行mmm packages/apps/test001  编译test001.apk包
    6. 执行make snod,编译system.img包
    7. 执行emulator &就可以在应用程序下看到自己编译的工程了

第二部分:修改原有的Android应用

    1. 首先新建一个android工程,加载自己的java文件和资源文件
    2. 在自己的android工程初步调试成功以后,把该工程的java文件,资源文件拷贝到联系人对应的java文件和资源文件目录

    3. 然后在linux下执行以下命令,编译人联系人模块,把资源文件编译到联系人目录中
            . build/envsetup.sh
            mmm packages/apps/Contacts
    4. 刷新android源码工程,这个时候你就可以在Contacts包目录下看到你新加的资源文件和源文件了,并可以在源码工程下修改代码并直接调试了
    5. ?? 为什么不在android源码工程下直接添加源文件和xml资源文件了????
            答:因为我们的android源码工程师以java工程导入的,如果添加android的xml文件的话,java程序无法识别资源R文件,所以我们必须先把需要的
                    xml资源文件先在linux下编译
    6. 在源码工程修改后,则可在linux下再次执行联系人编译命令,并 make snod加载system.img文件,并启动模拟器(emulator &),就可以看到你的修改了。
分享到:
评论
1 楼 guolong2008 2012-08-21  
不错呀,学习了

相关推荐

Global site tag (gtag.js) - Google Analytics