android自带源码(android 源码)

http://www.itjxue.com  2023-02-22 14:35  来源:未知  点击次数: 

怎样查看 Android APP 源代码

用压缩软件打开apk文件,解压出根目录中的classes.dex文件

使用cmd ,dex2jar.bat classes.dex命令将classes.dex转换为jar

再用jd-gui打开该jar就可以查看源码了,如果apk安全性好的话,有些代码是看不到的

现在到哪获取android系统源代码?

Android系统源码都在网址下,其中那个系统app都在platform/packages/apps结构下。

在刚才的Git的shell命名行窗口中输入下面的命名:

git clone git://android.git.kernel.org/platform/packages/apps/Luancher2.git

你就可以在你的msysGit安装目录的git下(~\msysgit\msysgit\git)看到Luancher工程文件夹了。

然后打开~\msysgit\msysgit\git\Luancher2文件夹,就可以看到Android的Luancher系统源码工程了。

对于其他的app系统源码的获取方法和上述的Luancher相同,只是命名行后的参数不同。

git clone git://android.git.kernel.org/需下载源码的app所在的位置。

android自带的应用修改源码成apk文件是否会覆盖原来应用?

会覆盖原来的应用,不过不是像普通的apk那样安装,而是直接将编译好的apk拷到system/app这个文件夹下替换原来的apk。我做的时候遇到个问题就是phone和contacts这两个应用被替换后就不可用的,其他的可以。

怎样查看 Android APP源代码?

将apk文件拷贝至sdcard上。

命令顺序如下:

进入Android sdk文件夹/tools目录下

输入adb shell

输入su

输入cd data

输入cd app

这时就可以看到你安装的所有的apk文件。输入cp 空格 对应的apk 空格 /sdcard/

这样就将apk文件拷贝出来了。

将apk文件后缀直接变成rar格式,可以看到熟悉的目录结构了,

其中xml文件打开后都是二进制的,无法查看。

这时就用到了一个android4me的AXMLPrinter2工具。(请自行百度搜索)

输入以下命令,将xml文件解析出来

java -jar AXMLPrinter2.jar showtimes_list.xml

此命令是在命令行中查看此showtimes_list.xml

将showtimes_list.xml生成xml文件,则输入以下命令:

java -jar AXMLPrinter2.jar showtimes_list.xml h.xml

目前进行到这一步,只能看到xml文件的内容,其工程中的java源文件还是看不到,看目录结构下有一个classes.dex文件,我们需要将dex文件变为jar文件。

这里用到了另一个工具dex2jar。(自行搜索下载)

在Windows下解压之后的目录如下图所示:

在命令行中,进入到此目录下:

在Windows下,输入以下命令:

dex2jar.bat c:\classes.dex

运行完之后,在C盘会多一个classes.dex.dex2jar.jar文件,此文件就是我们需要的jar文件。

利用jd-gui,将jar文件反向工程为java代码。(请自行搜索下载)

它分为Windows、Linux、和max三个版本,这里我下载的是Windows版本的。

解压之后,双击运行exe文件,选择classes.dex.dex2jar.jar文件,相应的jar文件中的Java文件就被反向工程显示出来了!

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。?[1]??2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'ève future)中。他将外表像人的机器起名为Android。

Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号, [1]? 于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。其中的文字使用了Ascender公司专门制作的称之为“Droid ” 的字体。Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。有时候,它们还会使用纯文字的Logo。

如何获取android源代码

当前的Android?代码托管在两个方:? 和??之前在 android.git.kernel.org?上也有托管,不过现在重定向到了??好在都支持git访问。

google?提供的?repo?工具实际上是一个内部操作git工具来简化操作Android源码的Python脚本。经过尝试,直接使用git?工具在ubuntu?下可以实现clone?Android?源码。下面介绍一下方法:

1.?获取当前的在github?上托管的Android?git?repositories:

github页面为:??。不过这个页面不支持通过?wget?""?或者?curl?""?的方式访问,?错误信息如下:

这样一来,获取这个页面内容并解析出其中的git?repositories就需要手工完成了。好在方法也很简单:?浏览器中打开这个页面,然后"查看源文件"并保存为文本文件,比如保存为"android_git.html"。最后,通过下面的一行脚本来取出?Android?git?repositories.

grep?-o?"span?class=\"repo\".*/span"?./android_git.html?|?cut?-d?""?-f2?|?cut?-d?""?-f1??android_git.txt

2.?基于第1步获取的Android?git?repositories?来生成clone?git的脚本:

执行如下的一行awk脚本

awk?'BEGIN{i=1;?print?"#!/usr/bin/env?b.sh"?}{?print?"\n\necho?\"begin?clone?android?git?["i"]:?"?$1?"\"";?print?"git?clone?

"?$1?".git";?print?"echo?\"finish?clone?android?git?["i"]:?"?$1?"\""?;?i=i+1;?}'?./android_git.txt??

git_clone_android.sh

现在用于clone?android?git的脚本生成好了,一共有?103?个?git?repository.

3.?执行git_clone_android.sh这个脚本即可。

整体Android?源码的代码量是相当庞大,完成所有的clone?任务后,大概占用了?7G?磁盘空间,历时20多个小时,这是在网速比较快的情况下达到的效果:

其间也有许多问题,比如多次出现如下的错误:

这个时候需能做的只能是"try?again"了。

需要说明的是"不要试图同时并发执行多个git?clone?命令",这样会导致大量出现上面贴图中的错误,另外,整个clone过程中耗时最多的git?repository?如下:

kernel_common.git?kernel_msm.git?platform_frameworks_base.git?platform_prebuilt.git?其中?platform_prebuilt.git?是google?提供的预编译好的二进制文件,包含:?各种库文件,jar?包,可执行程序等等,如果只是阅读Android?源代码,这个git?repository?可以不用clone.

(责任编辑:IT教学网)

更多