如何获取android源代码

作者&投稿:官使 (若有异议请与网页底部的电邮联系)
如何查看安卓apk程序的源代码?~

将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系统源码都在http://android.git.kernel.org/网址下,其中那个系统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 代码托管在两个方: https://github.com/android 和 https://android.googlesource.com 之前在 android.git.kernel.org 上也有托管,不过现在重定向到了 https://android.googlesource.com 好在都支持git访问。

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

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

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

这样一来,获取这个页面内容并解析出其中的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 "

echo \"begin clone android git ["i"]: " $1 "\""; print "git clone 
http://github.com/" $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.




...import android.app.Activity; import androi
还有:String user_name = MainActivity.getString("user_name");String user_phone = MainActivity.getString("user_phone");你这2段代码是什么意思。import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;看你有import sharedpreferences难道是你上面2个获取数据的代码?

北斗华为手机是否真的存在,怎么感觉骗人的??求大神解析!
北斗华为手机真的存在,不是骗人的。华为海思很早就支持了北斗,从麒麟930开始集成的Hi1101四合一芯片可以同时接收GPS、北斗和GLonass三种信号。北斗信号的获取主要取决于手机处理器(SOC)中集成的定位芯片,目前大多SOC都能同时支持GPS、北斗和GlONASS。高通骁龙800、600、400系列,其中目前常见的820、821、...

哔哩哔哩的移动定向免流量包怎么用啊。。。我用的ios app,看了一天发现...
1、在激活前,请将哔哩哔哩卡插入手机内,确保关闭WIFI,在联通2G\/3G\/4G网络下进行操作。如果您是使用双卡手机操作激活,请将通话主卡、上网主卡均设置为哔哩哔哩卡;2、进入Bilibil手机客户端,iPhone手机点击右下角菜单栏【我的】\/Androi手机点击坐上角的头像,进入【个人中心】,再点击【免流量服务...

如何执行Hadoop自带的例子
然后location里面选择你sdk资料夹下sample\/androi-7\/ApiDemos 这个资料夹 apidemos资料夹下面就是所有的例子程式。建立以后右键点选选择Run us选单下面第一个选项执行它。 就会自动建立一个虚拟机器跑起来这个例子程式了。 里面是各种元件的程式码... 希望你满意我的答案 执行Android自带的例子时出错...

我下个北斗导航为什么收我20元呢?
北斗民用导航服务和GPS一样,是不需要收费的,更确切的说是在使用北斗导航的时候,不需要向北斗系统拥有者直接缴纳费用。通讯服务是需要收取费用的,例如短报文。不过这些费用也并不是直接交给北斗系统的拥有者,而是提供短报文服务的提供方。这些提供方之所以存在主要是给最终的使用者提供了更加全方位的服务...

现在的手机一般是用北斗还是GPS
从麒麟930开始,集成的Hi1101四合一芯片可以同时接收GPS、北斗和GLonass三种信号。也就是说,除了任性的苹果,采用这些SOC的华为、O&V、小米、一加、魅族、HTC、努比亚等品牌的大部分型号手机都支持北斗定位!不信的话可以给你的手机装个测试软件试试,比如“GPS状态”、“北斗伴”、“AndroiTS GPS Test...

如何使用北斗导航
如何用北斗导航打开【设置】,点击【隐私】,打开【定位服务】;打开【北斗卫星地图】,进入之后会获取现在所在的位置,要搜索某个地点,在搜索框直接搜索即可;要使用导航,可以点击右下角的【导航】按钮,输入出发地和目的地即可。手机上的北斗导航该怎么使用?目前大部分的智能手机都支持北斗导航,其实...

手机导航是用的北斗吗?
苹果手机用的不是北斗导航,因为硬件不支持,安卓手机最近一年内买的新机大部分都支持北斗导航,还可以百度自己手机的型号查询一下参数,看看是否支持北斗导航。那么想要知道自己手机是不是用的北斗导航则需要下载软件,比如androits gps test pro,cellular-z,gps test,使用软件就可以看到每个中国国旗代表了...

手机性价比好吗?
魅族的16s这一款手机是很好用的,性价比也比较高。外观方面魅族16s表现还是相当出色的,相比照片观感来说,魅族16s现实生活中的上下边框要更窄,屏占比还是十分可观的,而得益于上下对称的设计,魅族16s在美感方面也是有所兼顾,颜值可以说颇为养眼,而在背部机身方面,魅族16s则为曲面玻璃的风格,机身两侧...

手机gps信号弱
如果您在使用手机导航时,发现某些地方出现信号丢失,信号弱的问题,建议您可以下拉通知栏,长按位置信息进入定位服务设置,将定位模式选择为“使用GPS、WLAN和移动网络”,此时开启移动数据网络可以辅助定位,获得更加准确的位置信息。 以下原因可能引起导航时信号丢失、信号弱的问题: 1、如果使用金属保护壳,保护壳开孔不太精...

轮台县17857975841: 如何获取android源代码?
狄喻芙露: 用git和repo获取,具体参考 http://www.devdiv.com/forum.php?mod=viewthread&tid=26024 http://www.devdiv.com/forum.php?mod=viewthread&tid=33434

轮台县17857975841: 如何查看Android源码 -
狄喻芙露: (1)需要先用Sdk Manager下载Sources for Android sdk 源码,这时在SDK文件夹里的sources文件夹里可以查看的确有很多.java文件的存在,但直接在文件夹里点击还不能查看.(2)在Android sudio里,找到一个想要查看源码的目标系统类或方法,Ctrl+鼠标左击该目标类和方法名,即可在开发软件Android studio里查看到相应的源码 ,不需要在Eclipse下的配置操作了.

轮台县17857975841: 如何查看安卓apk程序的源代码? -
狄喻芙露: 将apk文件拷贝至sdcard上.命令顺序如下:进入Android sdk文件夹/tools目录下 输入adb shell 输入su 输入cd data 输入cd app 这时就可以看到你安装的所有的apk文件.输入cp 空格 对应的apk 空格 /sdcard/ 这样就将apk文件拷贝出来了.将apk...

轮台县17857975841: 怎样查看 Android APP 源代码 -
狄喻芙露: 如果是查看ANDROID的源码可以在PACKAGE目录下查找~~ 祝你愉快,满意请采纳哦

轮台县17857975841: 怎么运用Git来获取android源代码 -
狄喻芙露: 下载Git工具:(默认安装即可,我自己是安装在D:\AndroidSrc\Git目录下):安装完成之后,双击桌面的Git bash图标:双击出现如下命令窗口,并输入cd /c/ android/source(因为我是选择把android源代码下载到这里面具体情况你可以根据自己...

轮台县17857975841: 如何从国内镜像获取android源代码 -
狄喻芙露: 首先按帮助中的步骤下载repo工具:[plain] view plain copy print?curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo > ~/bin/repo 此时查看下载下来的repo文件可以发现其中的REPO_URL已经指向中科大镜像的地址,因此应该...

轮台县17857975841: 哪里查看android framework code -
狄喻芙露: Android平台代码很多,关系也很复杂,通常我们调试程序的时候是无法跟踪到Android framework code里的,如果能调试跟踪Android source code将给我们这些初学者带来很多便利,本文将给出一个调试跟踪Android source code 的方法. 1. ...

轮台县17857975841: 怎样获得安卓系统源码,大神进来看看.
狄喻芙露: 去https://android.googlesource.com/?format=HTML下吧

轮台县17857975841: Android support library怎么获取具体版本的源码 -
狄喻芙露: 在Eclipse中需要查看某个类的源码,直接按住Ctrl 然后点击该类名就能查看源码啦,比如查看Button的源码,如图接下我就来教大家怎么关联,我们关联android2.2的源码和support包源码就够了选择你源码的存放路径就行了,然后重启Eclipse...

轮台县17857975841: 如何调试跟踪Android Framework源代码 -
狄喻芙露: 1. 首先,得到Android 源代码(可参考之前的文章--如何获取Android源代码并编译.doc),并且编译,得到output file,在(Android source)/out目录下,也可通过别的途径获取Android source code (以androidsrc.tgz为例) 和别人编译好的 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网