安卓app源代码修改,android 怎么样修改源码文件

1,android 怎么样修改源码文件1、Android的文件系统结构是怎样的,我们安装 1、Android的文件系统结构是怎样的,我们安装的程序放在那里? 编译Android源码之后,在out/target/product/generic一些文件: ramdisk.img、system.img、userdata.img、 system、 data、root 其中,system.img是由 system打包压缩得到的 ,  userdata.img是由 data打包压缩得到的 。ramdisk.img是模拟器的文件系统,把ramdisk.img解压出来可知道,ramdisk.img里的文件跟root文件夹的文件基本一样 。模拟器装载ramdisk.img并解压到内存,接着分别把system.img和userdata.img挂载到 ramdisk下的system和data目录 。我们编译出来的应用程序就是放在system/app下的 。用户安装的程序则是放在data/app下 。2、Android SDK和android源码能为我们提供什么工具? 的程序放在那里? 编译Android源码之后 , 在out/target/product/generic一些文件: ramdisk.img、system.img、userdata.img、 system、 data、root 其中,system.img是由 system打包压缩得到的,userdata.img是由 data打包压缩得到的 。ramdisk.img是模拟器的文件系统,把ramdisk.img解压出来可知道,ramdisk.img里的文件跟root文件夹的文件基本一样 。模拟器装载ramdisk.img并解压到内存,接着分别把system.img和userdata.img挂载到 ramdisk下的system和data目录 。我们编译出来的应用程序就是放在system/app下的 。用户安装的程序则是放在data/app下 。2、Android SDK和android源码能为我们提供什么工具?【安卓app源代码修改,android 怎么样修改源码文件】
2,用别人的android代码怎么修改将android源码导入eclipse中即可编辑编译 。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台 。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境 。Eclipse 附带了一个标准的插件集,包括Java开发工具 。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此 。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具 。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所 。1、可以使用 eclipse 来编辑 JAVA 程序、检查错误(主要是类库包含和语法方面),但是不能在 eclipse 上编译运行 android 源码,还是得在 shell 中 make(或 mm 或 mmm)2、android 源码文件夹里提供有一些 eclipse 配置文件 ,  .claapath:eclipse 工程的配置文件 , 方便我们直接把 android 源码相应的文件和 JAVA 包导入工程 android-formatting.xml 和 android.importorder:这个很重要 , 主要是用来规范我们的编码风格,更容 易使我们的代码风格一致3、把 android 源码作为一个工程导入 eclipse 时 , 必须注意两点1)、新建的工程必须是 java project,不能是 android project,否则会破坏 android 源码(一般是多添 加文件/文件夹)2)、导入前最好检查.classpath 里的文件在 android 源码中是否有相应的文件(文件夹),否则也会破坏 android 源码(一般是多添加文件/文件夹)总的来说: 1、用 eclipse 来编辑代码、检查错误2、不在 eclipse 上编译、运行 android 源码程序,只能在命令行通过 make(或 mm 或 mmm)编译 android 源 码3、可以在 eclipse 上调试 android 源码程序(原理:eclipse 通过 ddms 服务器在 emulator 上进行调试),并可以单步调试、断点调试 。下面,从官方文档总结出具体怎样用 eclipse 来开发 android 源码1、建立基本的 android 开发环境 请参考官方文档或<android 模拟器在 ubuntu8.10 的安装> 2、编译 android 源码 android 源码根目录下通过 make 进行编译,请注意一些配置,具体可参考<android 源码的编译>3、把 eclipse 工程配置文件复制到 android 源码根目录下 cp development/ide/eclipse/.classpath ./ chmod u+w .classpath # Make the copy writable4、修改 eclipse 程序的配置 1)、修改 eclipse 缓存设置 把 eclipse.ini(在 eclipse 软件的安装目录下)的 3 个值改为下面的值: -Xms128m -Xmx512m -XX:MaxPermSize=256m 2)、把 android-formatting.xml 和 android.importorder 导入 eclipse android-formatting.xml、.classpath 和 android.importorder 都放在 development/ide/eclipse/下 android-formatting.xml 用来配置 eclipse 编辑器的代码风格;android.importorder 用来配置 eclipse 的 import 的顺序和结构 。在 window->preferences->java->Code style->Formatter 中导入 android-formatting.xml 在 window->preferences->java->Code style->Organize Imports 中导入 android.importorder 3)、安装 anyedit 插件(可?。?在 http://andrei.gmxhome.de/anyedit/下载并导入 eclipse 中5、把 android 源码作为一个工程导入 eclipse 导入前先检查.classpath 里的文件在 android 源码中是否有相应的文件 (文件夹) 否则也会破坏 android ,源码(一般是多添加文件/文件夹),.classpath 里多余的路径可删除 新建 Java Project(不是 android project,否则会破坏 android 源码) , 选择从已存在的工程导入,工 程名任意,完成 。导入时,eclipse 要 build 工程,比较慢 。导完后,一般都没有错误 。6、eclipse 上调试 android 里的程序 。先执行: cd android 源码目录 . build/envsetup.sh lunch 1 emulator & ddms & # to build the emulator # you should see a GUI picture of a phone # you should get a splufty debugging console 然后在 eclipse 中配置调试类型和端口: 在 Run->Debug Configurations->Remote java application 上双击,然后,”Host:”设为 localhost,” Port:”设为 8700,”Connection Type”为 Standard(Socket Attach) 然后“Apply” 注意,在点击”Debug”时苦出错,说 8700 端口被占用,那么把 DDMS 程序关掉,重新打开 DDMS 就 OK 了 。如果提供连不到 VM 错误时,请注意,要先在 DDMS 中选中某一进程(对应某一应用程序),才能在 eclipse 执行 Debug 。在 eclipse 调试时,可以设断点、单步调试 。估计 google 团队也是这样开发、调试 android 应用程序的7、编译 android 源码 执行: cd android 源码目录 . build/envsetup.sh 那么就会多出 mm/mmm 等命令,mm/mmm 用来编译模块 (包括 C、 C++、 JAVA 程序)我们也可以直接在 android。源码根目录下执行“make 模块名”来编译模块 。Android 源码中添加 修改应用 Posted on 2010-08-19 13:37 zhangweia 阅读(1607) 评论(0) 编辑 收藏 第一部分:添加一个新的应用 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 &),就可以看到你的修改了 。2011-04-19 修改 Android 源码的 Launcher 的例子 博客分类: ? Android AndroidOSUI 框架 Android 的 Launcher 研究:客制化桌面 UI 前言 能取得 Android OS 原始码,并修改里头的内容,有时候也颇有乐趣 。最近和几位朋友聊到 「Android 框架的改造」,以及如何吸引对 Android 框架技术有兴趣的同好 一起交流的议 题;我个人认为,一开始如果能丢出一个比较有乐趣的议题,或许可以有抛砖引玉的效果 。上周在北京进行 Android 培训课程时,与 eoeAndroid 社群也进行了想法的交流,由於大家 都体认到 Android 底层技术的重要性及其价 值,而且 eoeAndroid 社群里也有许多技术好手,所以就和 eoeAndroid 的创办人靳岩兄有了一个共同主持研究 Android 底层技术 「同好小 组」 的想法,希望能透过社群的方式,集合大家的智慧,一起把底层技术研究清楚 。因为要让大家能有焦点,所以「发题」很重要,这个工作就由落在我身上了 。由於第一次希 望题目能简单,并且有趣一点 , 至少要能达到发球的效果,吸引大家开始关心 Android 底层 技术 , 所以原则是:希望能用最简单的方式、让大家体验修改底层的乐趣 。题目说明: Launcher 第一次的题目是「Launcher」的修改 。Launcher 就是 Android 的应用程式启动器 , Launcher 的功能还包含:桌面的切换、应用程 式快捷(shortcut)功能、背景图(Wallpaper)功能等等 。因此,修改 Launcher 可以改变一些 很深层的 UI 功能 。在 Android 的桌面最下方, 有一个图示,按下后可以拉出应用程式图示清单 ,  这是 Launcher 提供的功能 。这一次,因为我们觉得这个 Launcher 的图示太制式化了 , 越看越不好看,所 以想要修改一下,换张图,要怎麼做到呢? 范例展示 例如,图 1 是原始的图示;图 2 是修改后的图示 。图 1: 原始图示 图 2: 帮 Launcher 妆扮一下 实作说明 1/4: 取得 Android 原始码与 EeePC 移植 这个功能并不难做,事实上 , 完全不用写程式 。只要把图档重做就可以了 。只不过前提是,要知道: 1. 如何取得 Android OS 原始程式码 2. 如何编译 Android OS 最简单的做法是: 1. 下载 Android 原始码后、取得 EeePC 的移植(product) 2. 编译「TARGET_PRODUCT」为 eee_701 3. 由於 Launcher 都是用 Java 语法写成的,所以不会有架构(ARM/x86/...)的问题,编译后 可以取得 Launcher.apk;APK 套件是不分处理器平台的 先学会如何由 Android 原始码编译出 eee_701 的 image,才有办法继续进行 实作说明 2/4: 修改图档 在 Android 原始码的 packages/apps/ 目录里,存放了 Android 内建的应用程式原始码,Launcher 是 Android 的一个应用程式,所以从这里找到它的原始码 , 并进行修改工程 。切换到以下目录: /packages/apps/Launcher/ 接著要修改 src/目录下的内容,还是 res/目录下的内容呢?图档属於 Android 的 「resource」,因此当然是到 res/目录下找到我们要的图档 。切换到以下目录: /packages/apps/Launcher/res/ 又看到了一大堆目录,图档的部份存放於: ? ? drawable-land/ - landscope 模式的图档 drawable-port/ - portrait 模式的图档 我们先改一下 portrait 模式的图档 。找到 drawable-port/tray_handle_normal.png 档案如 下: 就是它了,换掉,把图档换成这个: 换好后重编 Android 即可 。一行程式都不用改 。实作说明 3/4: 安装 Launcher.apk 重编 Android 原始码,接著可以在 out/target/product//system/app/找到 Launcher.apk 套件 。把 Launcher.apk 安装到 AVD(Android 模拟器)里做测试 , 方法如下: 1. 先启动一个 AVD 2. 执行 adb 将 Launcher.apk 手动安装到 AVD 里,指令如下: $ adb install -r /Launcher.apk反编译步骤:下载apktool 并设置环境变量命令行进入apk目录执行:apktool d xx.apk(如果遇到一些错误说明apk做了防破解处理)执行成功后会生成xx文件夹,进入xx文件夹修改需要修改的内容 , 如果需要修改代码,进入xx\smali\里面,需要懂一些smali语法修改完后回到命令行,执行:apktool b xx,会在xx文件夹里面生成一个dist文件夹,里面的apk就是回编译的,这个apk是没有签名的下载网上的签名工具对apk签名 , 完了就可以安装了(如果你下载了源码或者sdk,里面自带一个signapk也可以签名)

    推荐阅读