体育资讯网

您现在的位置是:首页 > 足球教学 > 正文

足球教学

adb安卓源码分析(Android 开发相关源码精编解析)

hacker2022-07-05 05:24:37足球教学49
本文目录一览:1、如何查看安卓apk程序的源代码?2、

本文目录一览:

如何查看安卓apk程序的源代码?

将apk文件拷贝至sdcard上。

命令顺序如下adb安卓源码分析

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

输入adb shell

输入su

输入cd data

输入cd app

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

这样就将apk文件拷贝出来adb安卓源码分析了。

将apk文件后缀直接变成rar格式adb安卓源码分析,可以看到熟悉的目录结构了,

其中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文件就被反向工程显示出来了adb安卓源码分析

为什么android源码编译出来的adb是动态库

例如:你不想编译music进image中,你就在该文件里PRODUCT_PACKAGES :=这一项下的Music删除就可以了同理,你想把自己的app编译进image中,你先写好编译用的 Android.mk 文件,然后去到上面所说的文件里在 PRODUCT_PACKAGES :=这一项添加对应的app包名一般来说,只要改这么一个文件就足够了。但是如果以上编译后发现还是编译到了image里面,那么它很有可能是一个已经编译好的apk文件预装到 image 里面去了,也是以我的sdk为例,进入 device/产品目录/common/apk 下看看有没有.apk文件,我的sdk里面这个目录下的.apk文件是全部预装到 system/app 里面的还有一个目录:/device/产品目录/common/preinstallapk 这个目录里的apk也是预装到image里面去,只是并不是预装到 system/app 而已也就是说,你还要看看你不想编译进image里的app是不是预装进去,如果是预装进去的话,只要在对应目录下把该apk文件删除了就好了希望这些能帮到你!

ADB是什么 ADB常用命令介绍

adb是windows系统通过usb或者无线连接Android手机的一个接口

adb 常用命令大全

1. 显示系统中全部Android平台:

android list targets

2. 显示系统中全部AVD(模拟器):

android list avd

3. 创建AVD(模拟器):

android create avd --name 名称 --target 平台编号

4. 启动模拟器:

emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)

5. 删除AVD(模拟器):

android delete avd --name 名称

6. 创建SDCard:

mksdcard 1024M ~/名称.img

7. AVD(模拟器)所在位置:

Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)

8. 启动DDMS:

ddms

9. 显示当前运行的全部模拟器:

adb devices

10. 对某一模拟器执行命令:

abd -s 模拟器编号 命令

11. 安装应用程序:

adb install -r 应用程序.apk

12. 获取模拟器中的文件:

adb pull remote local

13. 向模拟器中写文件:

adb push local remote

14. 进入模拟器的shell模式:

adb shell

15. 启动SDK,文档,实例下载管理器:

android

16. 缷载apk包:

adb shell

cd data/app

rm apk包

exit

adb uninstall apk包的主包名

adb install -r apk包

17. 查看adb命令帮助信息:

adb help

18. 在命令行中查看LOG信息:

adb logcat -s 标签名

19. adb shell后面跟的命令主要来自:

源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。

20. 删除系统应用:

adb remount (重新挂载系统分区,使系统分区重新可写)。

adb shell

cd system/app

rm *.apk

21. 获取管理员权限:

adb root

22. 启动Activity:

adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。

23、发布端口:

你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:

adb forward tcp:5555 tcp:8000

24、复制文件:

你可向一个设备或从一个设备中复制文件,

复制一个文件或目录到设备或模拟器上:

adb push

source

destination/destination/source

如:adb

push test.txt /tmp/test.txt

从设备或模拟器上复制一个文件或目录:

adb

pull source

destination/destination/source

如:adb

pull /addroid/lib/libwebcore.so .

25、搜索模拟器/设备的实例:

取得当前运行的模拟器/设备的实例的列表及每个实例的状态:

adb devices

26、查看bug报告:

adb bugreport

27、记录无线通讯日志:

一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

adb shell

logcat -b radio

28、获取设备的ID和序列号:

adb get-product

adb get-serialno

29、访问数据库SQLite3

adb shell

sqlite3

#cd system/sd/data //进入系统内指定文件夹

#ls //列表显示当前文件夹内容

#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件

#rm xxx //删除文件xxx

#rmdir xxx //删除xxx的文件夹

【Android】如何使用ADB进行调试

【Android】使用ADB进行调试,有如下两种方法:

方法一:配置环境变量

直接将 adb 文件夹的目录添加到系统环境变量 Path 中,操作步骤:我的电脑 - 属性 - 高级系统设置 - 环境变量。 

方法二:复制到系统文件目录

将 adb 工具包的四个文件都复制到 C:\Windows\System32 目录里。

这是网上推荐的方式之一,但是我尝试之后发现并不能正常使用,在cmd窗口输入 adb 还报错 “无法启动此程序,因为计算机中丢失 AdbWinApi.dll。尝试重新安装该程序解决此问题。”

解决方法:这个配置过程跟系统的位数有关,假如系统是32位的,则将四个文件都复制到 C:\Windows\System32 目录里即可。

但是,假如使用的Windows系统是64位的,则需要将其中的 AdbWinApi.dll 文件复制到 C:\Windows\SysWOW64里,这样就一切正常了。

扩展资料

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。

adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备(如G1手机).  它的主要功能有:

1、运行设备的shell(命令行)

2、管理模拟器或设备的端口映射

3、 计算机和设备之间上传/下载文件

4、 将本地apk软件安装至模拟器或android设备

ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.

参考资料:百度百科▬ADB(调试桥)

发表评论

评论列表

  • 掩吻二奴(2022-07-05 11:26:23)回复取消回复

    你就在该文件里PRODUCT_PACKAGES :=这一项下的Music删除就可以了同理,你想把自己的app编译进image中,你先写好编译用的 Android.mk 文件

  • 鸠骨七禾(2022-07-05 13:15:46)回复取消回复

    p 里面的还有一个目录:/device/产品目录/common/preinstallapk 这个目录里的apk也是预装到image里面去,只是并不是预装到 system/app 而已也就是说,你还要看看你不想编译进image里的app是不是预装进去,如果是预装进去的

  • 只酷初霁(2022-07-05 15:02:49)回复取消回复

    ite3#cd system/sd/data //进入系统内指定文件夹 #ls //列表显示当前文件夹内容 #rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 #rm xxx //删除文件xxx #rmdir xxx //删除xxx的文件夹

  • 美咩未几(2022-07-05 10:49:04)回复取消回复

    a源文件还是看不到,看目录结构下有一个classes.dex文件,我们需要将dex文件变为jar文件。这里用到了另一个工具dex2jar。(自行搜索下载)在Windows下解压

  • 假欢婼粥(2022-07-05 11:55:34)回复取消回复

    d create avd --name 名称 --target 平台编号4. 启动模拟器: emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)5. 删除AVD(模拟器): an