社区
Android
帖子详情
adb 命令行如何获取 android 机器屏幕分辨率
xingworld
2010-11-02 04:58:56
adb 命令行如何获取 android 机器屏幕分辨率
谢谢
...全文
838
4
打赏
收藏
adb 命令行如何获取 android 机器屏幕分辨率
adb 命令行如何获取 android 机器屏幕分辨率 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DrSmart
2010-11-02
打赏
举报
回复
我是开发同步软件的,adb没有获取这个分辨率的方法,你做个apk获取值传到pc上显示就行了,
xingworld
2010-11-02
打赏
举报
回复
谢谢楼上朋友的回答,我是手机用 USB 线连接到电脑上,我想用 ADB 命令获取其分辨率。不知道怎么获取。谢谢!
纠结的木棉花
2010-11-02
打赏
举报
回复
android create avd -n MyWVGA -t 2 --skin WVGA854
这是创建模拟器的时候的命令。然后会出现一系列的配置信息:如图:
要知道现在使用的设备,可以用adb devices
DrSmart
2010-11-02
打赏
举报
回复
adb没有这命令的
adb
-
android
调试开发工具
ADB
(
Android
Debug Bridge)是一个用于与
Android
设备通信的
命令
行
工具。它提供了许多功能,用于开发、调试和管理
Android
设备。以下是
ADB
的一些主要功能和用途: 连接设备:
ADB
允许您将计算机连接到
Android
设备,无论是通过USB连接还是通过网络连接。 安装和卸载应用程序:您可以使用
ADB
安装新的
Android
应用程序(APK文件),也可以卸载已安装的应用程序。 文件传输:
ADB
允许您在计算机和设备之间传输文件。您可以将文件复制到设备或从设备复制文件到计算机。 调试应用程序:开发者可以使用
ADB
来调试他们的
Android
应用程序。它可以启用日志记录、跟踪应用程序性能,并在设备上运
行
调试会话。 启动和停止组件:您可以使用
ADB
启动或停止
Android
应用程序的活动、服务、广播接收器等组件。 查看设备信息:
ADB
提供了
命令
来查看设备的信息,包括设备型号、
Android
版本、
屏幕
分辨率
等。 截屏和录屏:您可以使用
ADB
命令
捕获
Android
设备的
屏幕
截图,也可以录制
屏幕
活动。 导出和导入数据库:
ADB
允许您从设备导出应用程序的数据库,并将其导
adb
1.0.26包含fastboot.exe
ADB
,即
Android
Debug Bridge,它是
Android
开发/测试人员不可替代的强大工具,也是
Android
设备玩家的好玩具。 注:有部分
命令
的支持情况可能与
Android
系统版本及定制 ROM 的实现有关。 基本用法
命令
语法
adb
命令
的基本语法如下:
adb
[-d|-e|-s ] 如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s ] 这一部分,直接使用
adb
。 为
命令
指定目标设备 如果有多个设备/模拟器连接,则需要为
命令
指定目标设备。 参数 含义 -d 指定当前唯一通过 USB 连接的
Android
设备为
命令
目标 -e 指定当前唯一运
行
的模拟器为
命令
目标 -s 指定相应 serialNumber 号的设备/模拟器为
命令
目标 在多个设备/模拟器连接的情况下较常用的是 -s 参数,serialNumber 可以通过
adb
devices
命令
获取
。如: $
adb
devices List of devices attached cf264b8f device emulator-5554 device 10.129.164.6:5555 device 输出里的 cf264b8f、emulator-5554 和 10.129.164.6:5555 即为 serialNumber。 比如这时想指定 cf264b8f 这个设备来运
行
adb
命令
获取
屏幕
分辨率
:
adb
-s cf264b8f shell wm size 又如想给 10.129.164.6:5555 这个设备安装应用(这种形式的 serialNumber 格式为 :,一般为无线连接的设备或 Genymotion 等第三方
Android
模拟器):
adb
-s 10.129.164.6:5555 install test.apk 遇到多设备/模拟器的情况均使用这几个参数为
命令
指定目标设备,下文中为简化描述,不再重复。 启动/停止 启动
adb
server
命令
:
adb
start-server (一般无需手动执
行
此
命令
,在运
行
adb
命令
时若发现
adb
server 没有启动会自动调起。) 停止
adb
server
命令
:
adb
kill-server 查看
adb
版本
命令
:
adb
version 示例输出:
Android
Debug Bridge version 1.0.36 Revision 8f855a3d9b35-
android
以 root 权限运
行
adb
d
adb
的运
行
原理是 PC 端的
adb
server 与手机端的守护进程
adb
d 建立连接,然后 PC 端的
adb
client 通过
adb
server 转发
命令
,
adb
d 接收
命令
后解析运
行
。 所以如果
adb
d 以普通权限执
行
,有些需要 root 权限才能执
行
的
命令
无法直接用
adb
xxx 执
行
。这时可以
adb
shell 然后 su 后执
行
命令
,也可以让
adb
d 以 root 权限执
行
,这个就能随意执
行
高权限
命令
了。
命令
:
adb
root 正常输出: restarting
adb
d as root 现在再运
行
adb
shell,看看
命令
行
提示符是不是变成 # 了? 有些手机 root 后也无法通过
adb
root
命令
让
adb
d 以 root 权限执
行
,比如三星的部分机型,会提示
adb
d cannot run as root in production builds,此时可以先安装
adb
d Insecure,然后
adb
root 试试。 相应地,如果要恢复
adb
d 为非 root 权限的话,可以使用
adb
unroot
命令
。 指定
adb
server 的网络端口
命令
:
adb
-P start-server 默认端口为 5037。 设备连接管理 查询已连接设备/模拟器
命令
:
adb
devices 输出示例: List of devices attached cf264b8f device emulator-5554 device 10.129.164.6:5555 device 输出格式为 [serialNumber] [state],serialNumber 即我们常说的 SN,state 有如下几种: offline —— 表示设备未连接成功或无响应。 device —— 设备已连接。注意这个状态并不能标识
Android
系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到
adb
,但启动完毕后系统才处于可操作状态。 no device —— 没有设备/模拟器连接。 以上输出显示当前已经连接了三台设备/模拟器,cf264b8f、emulator-5554 和 10.129.164.6:5555 分别是它们的 SN。从 emulator-5554 这个名字可以看出它是一个
Android
模拟器,而 10.129.164.6:5555 这种形为 : 的 serialNumber 一般是无线连接的设备或 Genymotion 等第三方
Android
模拟器。 常见异常输出: 没有设备/模拟器连接成功。 List of devices attached 设备/模拟器未连接到
adb
或无响应。 List of devices attached cf264b8f offline USB 连接 通过 USB 连接来正常使用
adb
需要保证几点: 硬件状态正常。 包括
Android
设备处于正常开机状态,USB 连接线和各种接口完好。
Android
设备的开发者选项和 USB 调试模式已开启。 可以到「设置」-「开发者选项」-「
Android
调试」查看。 如果在设置里找不到开发者选项,那需要通过一个彩蛋来让它显示出来:在「设置」-「关于手机」连续点击「版本号」7 次。 设备驱动状态正常。 这一点貌似在 Linux 和 Mac OS X 下不用操心,在 Windows 下有可能遇到需要安装驱动的情况,确认这一点可以右键「计算机」-「属性」,到「设备管理器」里查看相关设备上是否有黄色感叹号或问号,如果没有就说明驱动状态已经好了。否则可以下载一个手机助手类程序来安装驱动先。 通过 USB 线连接好电脑和设备后确认状态。
adb
devices 如果能看到 xxxxxx device 说明连接成功。 无线连接(需要借助 USB 线) 除了可以通过 USB 连接设备与电脑来使用
adb
,也可以通过无线连接——虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 USB 连接线的限制啦! 操作步骤: 将
Android
设备与要运
行
adb
的电脑连接到同一个局域网,比如连到同一个 WiFi。 将设备与电脑通过 USB 线连接。 应确保连接成功(可运
行
adb
devices 看是否能列出该设备)。 让设备在 5555 端口监听 TCP/IP 连接:
adb
tcpip 5555 断开 USB 连接。 找到设备的 IP 地址。 一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用
adb
命令
来查看。 通过 IP 地址连接设备。
adb
connect 这里的 就是上一步中找到的设备 IP 地址。 确认连接状态。
adb
devices 如果能看到 :5555 device 说明连接成功。 如果连接不了,请确认
Android
设备与电脑是连接到了同一个 WiFi,然后再次执
行
adb
connect 那一步; 如果还是不
行
的话,通过
adb
kill-server 重新启动
adb
然后从头再来一次试试。 断开无线连接
命令
:
adb
disconnect 无线连接(无需借助 USB 线) 注:需要 root 权限。 上一节「无线连接(需要借助 USB 线)」是官方文档里介绍的方法,需要借助于 USB 数据线来实现无线连接。 既然我们想要实现无线连接,那能不能所有步骤下来都是无线的呢?答案是能的。 在
Android
设备上安装一个终端模拟器。 已经安装过的设备可以跳过此步。我使用的终端模拟器下载地址是:Terminal Emulator for
Android
Downloads 将
Android
设备与要运
行
adb
的电脑连接到同一个局域网,比如连到同一个 WiFi。 打开
Android
设备上的终端模拟器,在里面依次运
行
命令
: su setprop service.
adb
.tcp.port 5555 找到
Android
设备的 IP 地址。 一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用
adb
命令
来查看。 在电脑上通过
adb
和 IP 地址连接
Android
设备。
adb
connect 这里的 就是上一步中找到的设备 IP 地址。 如果能看到 connected to :5555 这样的输出则表示连接成功。 节注一: 有的设备,比如小米 5S + MIUI 8.0 +
Android
6.0.1 MXB48T,可能在第 5 步之前需要重启
adb
d 服务,在设备的终端模拟器上运
行
: restart
adb
d 如果 restart 无效,尝试以下
命令
: start
adb
d stop
adb
d 应用管理 查看应用列表 查看应用列表的基本
命令
格式是
adb
shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER] 即在
adb
shell pm list packages 的基础上可以加一些参数进
行
过滤查看不同的列表,支持的过滤参数如下: 参数 显示列表 无 所有应用 -f 显示应用关联的 apk 文件 -d 只显示 disabled 的应用 -e 只显示 enabled 的应用 -s 只显示系统应用 -3 只显示第三方应用 -i 显示应用的 installer -u 包含已卸载应用 包名包含 字符串 所有应用
命令
:
adb
shell pm list packages 输出示例: package:com.
android
.smoketest package:com.example.
android
.livecubes package:com.
android
.providers.telephony package:com.google.
android
.googlequicksearchbox package:com.
android
.providers.calendar package:com.
android
.providers.media package:com.
android
.protips package:com.
android
.documentsui package:com.
android
.gallery package:com.
android
.externalstorage ... // other packages here ... 系统应用
命令
:
adb
shell pm list packages -s 第三方应用
命令
:
adb
shell pm list packages -3 包名包含某字符串的应用 比如要查看包名包含字符串 mazhuang 的应用列表,
命令
:
adb
shell pm list packages mazhuang 当然也可以使用 grep 来过滤:
adb
shell pm list packages | grep mazhuang 安装 APK
命令
格式:
adb
install [-lrtsdg] 参数:
adb
install 后面可以跟一些可选参数来控制安装 APK 的
行
为,可用参数及含义如下: 参数 含义 -l 将应用安装到保护目录 /mnt/asec -r 允许覆盖安装 -t 允许安装
Android
Manifest.xml 里 application 指定
android
:testOnly="true" 的应用 -s 将应用安装到 sdcard -d 允许降级覆盖安装 -g 授予所有运
行
时权限 运
行
命令
后如果见到类似如下输出(状态为 Success)代表安装成功: [100%] /data/local/tmp/1.apk pkg: /data/local/tmp/1.apk Success 上面是当前最新版 v1.0.36 的
adb
的输出,会显示 push apk 文件到手机的进度百分比。 使用旧版本
adb
的输出则是这样的: 12040 KB/s (22205609 bytes in 1.801s) pkg: /data/local/tmp/SogouInput_
android
_v8.3_sweb.apk Success 而如果状态为 Failure 则表示安装失败,比如: [100%] /data/local/tmp/map-20160831.apk pkg: /data/local/tmp/map-20160831.apk Failure [INSTALL_FAILED_ALREADY_EXISTS] 常见安装失败输出代码、含义及可能的解决办法如下: 输出 含义 解决办法 INSTALL_FAILED_ALREADY_EXISTS 应用已经存在,或卸载了但没卸载干净
adb
install 时使用 -r 参数,或者先
adb
uninstall 再安装 INSTALL_FAILED_INVALID_APK 无效的 APK 文件 INSTALL_FAILED_INVALID_URI 无效的 APK 文件名 确保 APK 文件名里无中文 INSTALL_FAILED_INSUFFICIENT_STORAGE 空间不足 清理空间 INSTALL_FAILED_DUPLICATE_PACKAGE 已经存在同名程序 INSTALL_FAILED_NO_SHARED_USER 请求的共享用户不存在 INSTALL_FAILED_UPDATE_INCOMPATIBLE 以前安装过同名应用,但卸载时数据没有移除 先
adb
uninstall 再安装 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 请求的共享用户存在但签名不一致 INSTALL_FAILED_MISSING_SHARED_LIBRARY 安装包使用了设备上不可用的共享库 INSTALL_FAILED_REPLACE_COULDNT_DELETE 替换时无法删除 INSTALL_FAILED_DEXOPT dex 优化验证失败或空间不足 INSTALL_FAILED_OLDER_SDK 设备系统版本低于应用要求 INSTALL_FAILED_CONFLICTING_PROVIDER 设备里已经存在与应用里同名的 content provider INSTALL_FAILED_NEWER_SDK 设备系统版本高于应用要求 INSTALL_FAILED_TEST_ONLY 应用是 test-only 的,但安装时没有指定 -t 参数 INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 包含不兼容设备 CPU 应用程序二进制接口的 native code INSTALL_FAILED_MISSING_FEATURE 应用使用了设备不可用的功能 INSTALL_FAILED_CONTAINER_ERROR 1. sdcard 访问失败; 2. 应用签名与 ROM 签名一致,被当作内置应用 1. 确认 sdcard 可用,或者安装到内置存储; 2. 打包时不与 ROM 使用相同签名 INSTALL_FAILED_INVALID_INSTALL_LOCATION 1. 不能安装到指定位置; 2. 应用签名与 ROM 签名一致,被当作内置应用 1. 切换安装位置,添加或删除 -s 参数; 2. 打包时不与 ROM 使用相同签名 INSTALL_FAILED_MEDIA_UNAVAILABLE 安装位置不可用 一般为 sdcard,确认 sdcard 可用或安装到内置存储 INSTALL_FAILED_VERIFICATION_TIMEOUT 验证安装包超时 INSTALL_FAILED_VERIFICATION_FAILURE 验证安装包失败 INSTALL_FAILED_PACKAGE_CHANGED 应用与调用程序期望的不一致 INSTALL_FAILED_UID_CHANGED 以前安装过该应用,与本次分配的 UID 不一致 清除以前安装过的残留文件 INSTALL_FAILED_VERSION_DOWNGRADE 已经安装了该应用更高版本 使用 -d 参数 INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE 已安装 target SDK 支持运
行
时权限的同名应用,要安装的版本不支持运
行
时权限 INSTALL_PARSE_FAILED_NOT_APK 指定路径不是文件,或不是以 .apk 结尾 INSTALL_PARSE_FAILED_BAD_MANIFEST 无法解析的
Android
Manifest.xml 文件 INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION 解析器遇到异常 INSTALL_PARSE_FAILED_NO_CERTIFICATES 安装包没有签名 INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES 已安装该应用,且签名与 APK 文件不一致 先卸载设备上的该应用,再安装 INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING 解析 APK 文件时遇到 CertificateEncodingException INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME manifest 文件里没有或者使用了无效的包名 INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID manifest 文件里指定了无效的共享用户 ID INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解析 manifest 文件时遇到结构性错误 INSTALL_PARSE_FAILED_MANIFEST_EMPTY 在 manifest 文件里找不到找可操作标签(instrumentation 或 application) INSTALL_FAILED_INTERNAL_ERROR 因系统问题安装失败 INSTALL_FAILED_USER_RESTRICTED 用户被限制安装应用 INSTALL_FAILED_DUPLICATE_PERMISSION 应用尝试定义一个已经存在的权限名称 INSTALL_FAILED_NO_MATCHING_ABIS 应用包含设备的应用程序二进制接口不支持的 native code INSTALL_CANCELED_BY_USER 应用安装需要在设备上确认,但未操作设备或点了取消 在设备上同意安装 INSTALL_FAILED_ACWF_INCOMPATIBLE 应用程序与设备不兼容 does not contain
Android
Manifest.xml 无效的 APK 文件 is not a valid zip file 无效的 APK 文件 Offline 设备未连接成功 先将设备与
adb
连接成功 unauthorized 设备未授权允许调试 error: device not found 没有连接成功的设备 先将设备与
adb
连接成功 protocol failure 设备已断开连接 先将设备与
adb
连接成功 Unknown option: -s
Android
2.2 以下不支持安装到 sdcard 不使用 -s 参数 No space left on devicerm 空间不足 清理空间 Permission denied … sdcard … sdcard 不可用 参考:PackageManager.java
adb
install 内部原理简介
adb
install 实际是分三步完成: push apk 文件到 /data/local/tmp。 调用 pm install 安装。 删除 /data/local/tmp 下的对应 apk 文件。 所以,必要的时候也可以根据这个步骤,手动分步执
行
安装过程。 卸载应用
命令
:
adb
uninstall [-k] 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。
命令
示例:
adb
uninstall com.qihoo360.mobilesafe 表示卸载 360 手机卫士。 清除应用数据与缓存
命令
:
adb
shell pm clear 表示应用名包,这条
命令
的效果相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」。
命令
示例:
adb
shell pm clear com.qihoo360.mobilesafe 表示清除 360 手机卫士的数据和缓存。 查看前台 Activity
命令
:
adb
shell dumpsys activity activities | grep mFocusedActivity 输出示例: mFocusedActivity: ActivityRecord{8079d7e u0 com.cyanogenmod.trebuchet/com.
android
.launcher3.Launcher t42} 其中的 com.cyanogenmod.trebuchet/com.
android
.launcher3.Launcher 就是当前处于前台的 Activity。 查看正在运
行
的 Services
命令
:
adb
shell dumpsys activity services [] 参数不是必须的,指定 表示查看与某个包名相关的 Services,不指定表示查看所有 Services。 不一定要给出完整的包名,比如运
行
adb
shell dumpsys activity services org.mazhuang,那么包名 org.mazhuang.demo1、org.mazhuang.demo2 和 org.mazhuang123 等相关的 Services 都会列出来。 与应用交互 主要是使用 am
命令
,常用的 如下: command 用途 start [options] 启动 指定的 Activity startservice [options] 启动 指定的 Service broadcast [options] 发送 指定的广播 force-stop 停止 相关的进程 参数很灵活,和写
Android
程序时代码里的 Intent 相对应。 用于决定 intent 对象的选项如下: 参数 含义 -a 指定 action,比如
android
.intent.action.VIEW -c 指定 category,比如
android
.intent.category.APP_CONTACTS -n 指定完整 component 名,用于明确指定启动哪个 Activity,如 com.example.app/.ExampleActivity 里还能带数据,就像写代码时的 Bundle 一样: 参数 含义 --esn null 值(只有 key 名) -e|--es string 值 --ez boolean 值 --ei integer 值 --el long 值 --ef float 值 --eu URI --ecn component name --eia [,
命令格式:
adb
shell am start [options] 例如:
adb
shell am start -n com.tencent.mm/.ui.LauncherUI 表示调起微信主界面。
adb
shell am start -n org.mazhuang.boottimemeasure/.MainActivity --es "toast" "hello, world" 表示调起 org.mazhuang.boottimemeasure/.MainActivity 并传给它 string 数据键值对 toast - hello, world。 调起 Service
命令
格式:
adb
shell am startservice [options] 例如:
adb
shell am startservice -n com.tencent.mm/.plugin.accountsync.model.AccountAuthenticatorService 表示调起微信的某 Service。 发送广播
命令
格式:
adb
shell am broadcast [options] 可以向所有组件广播,也可以只向指定组件广播。 例如,向所有组件广播 BOOT_COMPLETED:
adb
shell am broadcast -a
android
.intent.action.BOOT_COMPLETED 又例如,只向 org.mazhuang.boottimemeasure/.BootCompletedReceiver 广播 BOOT_COMPLETED:
adb
shell am broadcast -a
android
.intent.action.BOOT_COMPLETED -n org.mazhuang.boottimemeasure/.BootCompletedReceiver 这类用法在测试的时候很实用,比如某个广播的场景很难制造,可以考虑通过这种方式来发送广播。 既能发送系统预定义的广播,也能发送自定义广播。如下是部分系统预定义广播及正常触发时机: action 触发时机
android
.net.conn.CONNECTIVITY_CHANGE 网络连接发生变化
android
.intent.action.SCREEN_ON
屏幕
点亮
android
.intent.action.SCREEN_OFF
屏幕
熄灭
android
.intent.action.BATTERY_LOW 电量低,会弹出电量低提示框
android
.intent.action.BATTERY_OKAY 电量恢复了
android
.intent.action.BOOT_COMPLETED 设备启动完毕
android
.intent.action.DEVICE_STORAGE_LOW 存储空间过低
android
.intent.action.DEVICE_STORAGE_OK 存储空间恢复
android
.intent.action.PACKAGE_ADDED 安装了新的应用
android
.net.wifi.STATE_CHANGE WiFi 连接状态发生变化
android
.net.wifi.WIFI_STATE_CHANGED WiFi 状态变为启用/关闭/正在启动/正在关闭/未知
android
.intent.action.BATTERY_CHANGED 电池电量发生变化
android
.intent.action.INPUT_METHOD_CHANGED 系统输入法发生变化
android
.intent.action.ACTION_POWER_CONNECTED 外部电源连接
android
.intent.action.ACTION_POWER_DISCONNECTED 外部电源断开连接
android
.intent.action.DREAMING_STARTED 系统开始休眠
android
.intent.action.DREAMING_STOPPED 系统停止休眠
android
.intent.action.WALLPAPER_CHANGED 壁纸发生变化
android
.intent.action.HEADSET_PLUG 插入耳机
android
.intent.action.MEDIA_UNMOUNTED 卸载外部介质
android
.intent.action.MEDIA_MOUNTED 挂载外部介质
android
.os.action.POWER_SAVE_MODE_CHANGED 省电模式开启 (以上广播均可使用
adb
触发) 强制停止应用
命令
:
adb
shell am force-stop
命令
示例:
adb
shell am force-stop com.qihoo360.mobilesafe 表示停止 360 安全卫士的一切进程与服务。 文件管理 复制设备里的文件到电脑
命令
:
adb
pull [电脑上的目录] 其中 电脑上的目录 参数可以省略,默认复制到当前目录。 例:
adb
pull /sdcard/sr.mp4 ~/tmp/ 小技巧:设备上的文件路径可能需要 root 权限才能访问,如果你的设备已经 root 过,可以先使用
adb
shell 和 su
命令
在
adb
shell 里
获取
root 权限后,先 cp /path/on/device /sdcard/filename 将文件复制到 sdcard,然后
adb
pull /sdcard/filename /path/on/pc。 复制电脑里的文件到设备
命令
:
adb
push 例:
adb
push ~/sr.mp4 /sdcard/ 小技巧:设备上的文件路径普通权限可能无法直接写入,如果你的设备已经 root 过,可以先
adb
push /path/on/pc /sdcard/filename,然后
adb
shell 和 su 在
adb
shell 里
获取
root 权限后,cp /sdcard/filename /path/on/device。 模拟按键/输入 在
adb
shell 里有个很实用的
命令
叫 input,通过它可以做一些有趣的事情。 input
命令
的完整 help 信息如下: Usage: input [] [...] The sources are: mouse keyboard joystick touchnavigation touchpad trackball stylus dpad gesture touchscreen gamepad The commands and default sources are: text (Default: touchscreen) keyevent [--longpress] ... (Default: keyboard) tap (Default: touchscreen) swipe [duration(ms)] (Default: touchscreen) press (Default: trackball) roll (Default: trackball) 比如使用
adb
shell input keyevent
命令
,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 KeyEvent,摘引部分我觉得有意思的如下: keycode 含义 3 HOME 键 4 返回键 5 打开拨号应用 6 挂断电话 24 增加音量 25 降低音量 26 电源键 27 拍照(需要在相机应用里) 64 打开浏览器 82 菜单键 85 播放/暂停 86 停止播放 87 播放下一首 88 播放上一首 122 移动光标到
行
首或列表顶部 123 移动光标到
行
末或列表底部 126 恢复播放 127 暂停播放 164 静音 176 打开系统设置 187 切换应用 207 打开联系人 208 打开日历 209 打开音乐 210 打开计算器 220 降低
屏幕
亮度 221 提高
屏幕
亮度 223 系统休眠 224 点亮
屏幕
231 打开语音助手 276 如果没有 wakelock 则让系统休眠 下面是 input
命令
的一些用法举例。 电源键
命令
:
adb
shell input keyevent 26 执
行
效果相当于按电源键。
自己平时做的
android
相关的总结
声明:这些内容是逐步总结过来的,所以可能有当时的理解不正确,只希望大家能做个参考: 内容如下: 目录 一句话总结汇总: Copy project into workspace 和add project into work set 的含义 数字签名总结 JNI 基础及注意: Ndk的使用方法: Ant 与
android
update project
命令
行
只有在非根盘符上才能运
行
android
Launcher
Android
运
行
环境搭建
Android
:name什么时候加”.” Activity class {package/class} does not exist 问题的解决 Activity 中两次调用OnCreate的原因 ByteBuffer 和 FloatBuffer 的直接分配和非直接分配 Application的使用小总结 “call to OpenGL ES API with no current context (logged once per thread” 问题的解决 2013年9月7日19:15:33:我的平板
分辨率
很高可是运
行
public void onSurfaceChanged(GL10 gl, int width, int height)函数时,
分辨率
只有 455*320,这是为什么? 关于
android
添加第三方字体的方法
android
-apt-compiler: [t1] res\layout\LinearLayout.xml: Invalid file name: must contain only [a-z0-9_.] Buttons in button bars should be borderless
android
支持的距离单位 使用
adb
shell
命令
进入手机后使用ls
命令
提示: opendir failed permission denied 使用
adb
pull
命令
提示permission denied Button 中的setLayoutParams使用注意: layout文件夹和raw文件下面的文件读取 Matrix方法中的set方法和post方法
android
中调用drawBitmap时理解dip(
屏幕
密度)和px(像素)的区别 SQLiteDatabase 的setTransactionSuccessful作用 终于弄明白 paddingleft margineleft layout_gravity 和gravity之间的区别 自定义控件时要注意的问题。 obtainMessage 的作用: FrameLayout 需要注意的地方: EditText 禁止弹出按键盘:
获取
控件
屏幕
位置和窗口位置: 为什么MyAdapater的getView没有被调用 XmlSerializer使用总结: ListView中的Item自定义点击后的背景色的方法。 drawable各个
分辨率
fragment 的几种创建方式 fragment第一次使用遇到的问题 activity变身对话框 onMeasure 中的AT_MOST EXACTLY UNSPECIFIED MotionEvent的触发记录 对于Drawable 的 getIntrinsicHeight 和getIntrinsicWidth的理解 IntentService 使用总结: 文件读写总结: AES 解密失败: XML中的include标签加入后崩溃 Button的background标签使图像拉伸的问题 SharedPreferences 的getString 的陷阱 TextView 中的EMS和Maxlength
Android
开发资料合集-World版!
没有最全,只有更全!!! world版全面开放 0、
ANDROID
常用类库说明 6 1、
ANDROID
文件系统与应用程序架构 7 1.1、
ANDROID
文件系统 7 1.2、
ANDROID
应用程序架构 9 2、
ANDROID
应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 2.1.4、Activity 的跳转(含Bundle传值) 17 2.1.5.Actvity 堆栈 18 2.1.6、Intent对象调用Activity实例 19 2.1.7、Activity透明 21 2.1.8、一次性关闭所有的Activity 22 2.1.9、PreferenceActivity 用法 22 2.1.10、Dialog风格的Activity 23 2.1.11、横竖屏切换不销毁当前Activity 23 2.2、INTENT RECEIVER 25 2.3、SERVICE 26 2.3.1、什么是Service 26 2.3.2、如何使用Service 27 2.3.3、Service的生命周期 32 2.3.4、判断服务开启状态 33 2.3.5、
获取
启动的服务 34 2.4、CONTENT PROVIDER 35 3、
ANDROID
UI LAYOUT 35 3.1、概述 35 3.2、线性布局(LINEAR LAYOUT) 36 3.3、相对布局(RELATIVE LAYOUT) 39 3.4、TABLELAYOUT 40 3.5、ABSOLUTELAYOUT 47 4、
ANDROID
UI 控件 48 4.1、IMAGEBUTTON 48 4.1.1、图案填充问题 48 4.2、TEXTVIEW 49 4.2.1、动态滚动 49 4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、
获取
标题栏和状态栏高度 57 4.4.5、标题栏显示简单的进度框 57 4.5、MENU 58 4.5.1、简单的代码 58 4.5.2、menu实现的两种方法 58 4.5.3、自定义MENU背景 62 4.5.4、触发menu 64 4.5.5、Context Menu和Options Menu菜单的区别 64 4.5.6、Context menus for expandable lists 64 4.6、LISTVIEW 66 4.6.1、ListView自定义分割线 66 4.6.2、LIST例一 66 4.6.3、LIST例二 76 4.6.4、LIST例三 80 4.6.5、ListView 被选中item的背景颜色 82 4.6.6、ListView自定义背景颜色 83 4.6.7、List长按与短按消息映射 84 4.6.8、点击ListView改变背景色 87 4.6.9、自动滚动ListView 88 4.6.10、BaseExpandableListAdapter例 88 4.6.11、列表视图(List View) 96 4.6.12、NoteList 99 4.7、TAB与TABHOST 106 4.8、RATINGBAR 110 4.8.1、例一 110 4.8.2、例二 112 4.9、DATE/TIME SET 115 4.9.1、DatePicker/TimePicker 115 4.9.2、DatePickerDialog/TimePickerDialog 119 4.10、WEBVIEW 120 4.10.1、WebView的使用 120 4.11、SCROLLVIEW 121 4.11.1、ScrollView的使用 121 4.12、GRIDVIEW 124 4.12.1、GridView的使用 124 4.13、GAMEVIEW 127 4.13.1、显示到一个布局中 127 4.14、TOASTE 128 4.14.1、短时间显示 128 4.14.2、长时间显示 128 4.15、对话框 128 4.15.1、简单的对话框: 128 4.15.2、包含两个按钮的对话框 128 4.15.3、三个按钮的提示框 129 4.15.4、包含输入的dlg 131 4.15.5、圆形进度框 133 4.15.6、AlertDialog.Builder 133 4.15.7、模式对话框 134 4.16、拖动BUTTON获得位置 135 5、
ANDROID
UI 美化 137 5.1、简单美化BUTTON、IMAGEBUTTON、TEXTVIEW等控件 137 5.2、BUTTON美化案例☆ 139 5.3、IMAGEBUTTON 按下时的动画效果 142 5.4、滚动条显示与隐藏 143 5.5、LISTVIEW 与 SCROLLVIEW 解决办法 144 方法一:(重写ListView) 144 方法二: 150 5.6、3D魔方 151 6、
ANDROID
UI 动画 160 6.1、四种2D动画 160 6.1.1、透明度控制动画效果 alpha 160 6.1.2、旋转动画效果 rotate 161 6.1.3、尺寸伸缩动画效果 scale 162 6.1.4、位置转移动画效果 translate 163 6.1.5、四种动画效果的调用 164 7、异步调用 167 开辟一个线程: 167 THREAD: 168 HANDER 170 TIMER 173
ANDROID
界面刷新 174 MESSAGE HANDER 175 用法: 175 线程与子线程调用MessageHander 177 Messagehandler实例 177 8、数据存储与读取 179 1. PREFERENCES 179 2. FILES 180 3. DATABASES 180 4. NETWORK 183 5、CONTENTPROVIDER 183 6、执
行
SQL语句进
行
查询 188 用法1 188 其它: 188 详解: 189 查看SQLITE表格内容 192 9、常用功能的实现 193 9.1、
获取
手机型号以及系统版本号 193 9.2、更改应用程序图标 194 9.3、迎合不同的手机
分辨率
194 9.4.
ANDROID
屏幕
适应的四个原则 195 9.5、
ANDROID
常用单位 196 9.6、取得
屏幕
信息 197 9.7、横竖屏 197 9.8、程序完全全屏 200 9.8.1锁屏锁键盘 200 9.9、程序的开机启动 201 9.10、动态START页面 208 9.11、彻底退出当前程序 212 9.12、
获取
应用程序的名称,包名,版本号和图标 212 9.13、调用
ANDROID
INSTALLER 安装和卸载程序 215 9.14、后台监控应用程序包的安装&卸载 216 9.15、显示应用详细列表 224 9.16、寻找应用 224 9.17、注册一个BROADCASTRECEIVER 225 9.18、打开另一程序 225 9.19、播放默认铃声 225 9.20、设置默认来电铃声 226 9.21、位图旋转 227 9.22、手机震动控制 228 9.23、SENSOR2D感应实例 228 9.24、运用JAVA MAIL包实现发GMAIL邮件 230 9.26、
ANDROID
键盘响应 236 9.27、后台监听某个按键 238 9.28、VECTOR用法 239 9.29、CURSOR 242 9.30、把一个字符串写进文件 244 9.31、把文件内容读出到一个字符串 245 9.32、扫描WIFI热点演示实例教程 246 9.33、调用GOOGLE搜索 249 9.34、调用浏览器 载入某网址 249 9.35、
获取
IP地址 249 9.36、从输入流中
获取
数据并以字节数组返回 250 9.37、通过
ANDROID
客户端上传数据到服务器 251 9.38、文件下载类 255 9.39、下载文件的进度条提示 263 9.40、通过HTTPCLIENT从指定SERVER
获取
数据 265 9.41、通过FTP传输文件,关闭UI获得返回码 266 9.42、激活JAVASCRIPT打开内部链接 266 9.43、清空手机COOKIES 267 9.44、检查SD卡是否存在并且可以写入 267 9.45、
获取
SD卡的路径和存储空间 268 9.46、将程序安装到SD卡 268 9.47、创建一个SD映像 269 9.48、查看手机内存存储 269 9.49、在模拟器上调试GOOGLE MAPS 271 9.50、建立GPRS连接 273 9.51、
获取
手机位置 274 9.5* 获得经纬度,地名标注在地图上 274 9.52、获得两个GPS坐标之间的距离 276 9.53、通过经纬度显示地图 277 9.54、路径规划 277 9.55、将坐标传递到GOOGLE MAP并显示 277 9.56、
获取
本机电话号码 280 9.57、获得手机联系人 280 9.58、2.0以上版本查询联系人详细信息 282 9.59、2.0以上版本添加联系人 285 9.60、拨打电话 287 9.61、发送SMS、MMS 287 9.62、监听电话被呼叫状态 288 9.63、监听要拨打的电话(可以后台进
行
修改号码) 290 9.64、后台监听短信内容 291 9.65、删除最近收到的一条短信 292 9.66、调用发短信的程序 293 9.67、后台发送短信 293 9.68、调用发送彩信程序 294 9.69、发送EMAIL 294 9.70、播放多媒体 295 9.71、控制音量 296 9.72、定义CONTENTOBSERVER,监听某个数据表 302 9.73、打开照相机 303 9.74、从GALLERY选取图片 303 9.75、打开录音机 303 9.76、语音朗读 303 9.77、手机
获取
视频流显示在电脑上 305 9.78、蓝牙的使用 313 9.79、一个很好的加密解密字符串 316 9.80、DRAWABLE、BITMAP、BYTE[]之间的转换 318 9.81、高循环效率的代码 320 9.82、给模拟器打电话发短信 321 9.83、加快模拟器速度 321 9.83.1、模拟器 “尚未注册网络” 322 9.84、EMULATOR
命令
行
参数 322 9.85、如何进
行
单元测试 323 9.86、
ANDROID
自动化测试初探 324 9.86.1、捕获Activity上的Element 324 9.86.2、Hierarchyviewer 捕获Element的 328 9.86.3、架构实现 330 9.86.4、模拟键盘鼠标事件(Socket+Instrumentation实现) 332 9.86.5、再述模拟键盘鼠标事件(
adb
shell 实现) 334 9.87、反编译APK 344 9.88、更换APK图标(签名打包) 348 9.89、利用
ANDROID
MARKET赚钱 363 9.90、
ANDROID
-MARKET 使用 365 9.91、传感器 369 9.91.1、
获取
手机上的传感器 369 9.91.2、 371 9.92、时间类 372 * 获得日期或时间字符串 372 * num天前的日期 373 * num天后的日期 373 * 判断 thingdate 的 dotime 天后是否在今天之后 374 * 判断testDate+testTime是否在两个时间之内 375 附录: 378 附录1、XML布局中的常用属性 378 1.通用属性 378 2.Edit Text部分属性 381 3.layout_alignParentRight
android
:paddingRight 384 附录2、INTENT ACTION 385 附录3、
ANDROID
的动作、广播、类别等标志 387 ★★★附带工具包说明 393 1.APK反编译工具.rar 393 2.APK安装工具.rar 393
Android
开发技巧
0、
ANDROID
常用类库说明 6 1、
ANDROID
文件系统与应用程序架构 7 1.1、
ANDROID
文件系统 7 1.2、
ANDROID
应用程序架构 9 2、
ANDROID
应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 2.1.4、Activity 的跳转(含Bundle传值) 17 2.1.5.Actvity 堆栈 18 2.1.6、Intent对象调用Activity实例 19 2.1.7、Activity透明 21 2.1.8、一次性关闭所有的Activity 22 2.1.9、PreferenceActivity 用法 22 2.1.10、Dialog风格的Activity 23 2.1.11、横竖屏切换不销毁当前Activity 23 2.2、INTENT RECEIVER 25 2.3、SERVICE 26 2.3.1、什么是Service 26 2.3.2、如何使用Service 27 2.3.3、Service的生命周期 32 2.3.4、判断服务开启状态 33 2.3.5、
获取
启动的服务 34 2.4、CONTENT PROVIDER 35 3、
ANDROID
UI LAYOUT 35 3.1、概述 35 3.2、线性布局(LINEAR LAYOUT) 36 3.3、相对布局(RELATIVE LAYOUT) 39 3.4、TABLELAYOUT 40 3.5、ABSOLUTELAYOUT 47 4、
ANDROID
UI 控件 48 4.1、IMAGEBUTTON 48 4.1.1、图案填充问题 48 4.2、TEXTVIEW 49 4.2.1、动态滚动 49 4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、
获取
标题栏和状态栏高度 57 4.4.5、标题栏显示简单的进度框 57 4.5、MENU 58 4.5.1、简单的代码 58 4.5.2、menu实现的两种方法 58 4.5.3、自定义MENU背景 62 4.5.4、触发menu 64 4.5.5、Context Menu和Options Menu菜单的区别 64 4.5.6、Context menus for expandable lists 64 4.6、LISTVIEW 66 4.6.1、ListView自定义分割线 66 4.6.2、LIST例一 66 4.6.3、LIST例二 76 4.6.4、LIST例三 80 4.6.5、ListView 被选中item的背景颜色 82 4.6.6、ListView自定义背景颜色 83 4.6.7、List长按与短按消息映射 84 4.6.8、点击ListView改变背景色 87 4.6.9、自动滚动ListView 88 4.6.10、BaseExpandableListAdapter例 88 4.6.11、列表视图(List View) 96 4.6.12、NoteList 99 4.7、TAB与TABHOST 106 4.8、RATINGBAR 110 4.8.1、例一 110 4.8.2、例二 112 4.9、DATE/TIME SET 115 4.9.1、DatePicker/TimePicker 115 4.9.2、DatePickerDialog/TimePickerDialog 119 4.10、WEBVIEW 120 4.10.1、WebView的使用 120 4.11、SCROLLVIEW 121 4.11.1、ScrollView的使用 121 4.12、GRIDVIEW 124 4.12.1、GridView的使用 124 4.13、GAMEVIEW 127 4.13.1、显示到一个布局中 127 4.14、TOASTE 128 4.14.1、短时间显示 128 4.14.2、长时间显示 128 4.15、对话框 128 4.15.1、简单的对话框: 128 4.15.2、包含两个按钮的对话框 128 4.15.3、三个按钮的提示框 129 4.15.4、包含输入的dlg 131 4.15.5、圆形进度框 133 4.15.6、AlertDialog.Builder 133 4.15.7、模式对话框 134 4.16、拖动BUTTON获得位置 135 5、
ANDROID
UI 美化 137 5.1、简单美化BUTTON、IMAGEBUTTON、TEXTVIEW等控件 137 5.2、BUTTON美化案例☆ 139 5.3、IMAGEBUTTON 按下时的动画效果 142 5.4、滚动条显示与隐藏 143 5.5、LISTVIEW 与 SCROLLVIEW 解决办法 144 方法一:(重写ListView) 144 方法二: 150 5.6、3D魔方 151 6、
ANDROID
UI 动画 160 6.1、四种2D动画 160 6.1.1、透明度控制动画效果 alpha 160 6.1.2、旋转动画效果 rotate 161 6.1.3、尺寸伸缩动画效果 scale 162 6.1.4、位置转移动画效果 translate 163 6.1.5、四种动画效果的调用 164 7、异步调用 167 开辟一个线程: 167 THREAD: 168 HANDER 170 TIMER 173
ANDROID
界面刷新 174 MESSAGE HANDER 175 用法: 175 线程与子线程调用MessageHander 177 Messagehandler实例 177 8、数据存储与读取 179 1. PREFERENCES 179 2. FILES 180 3. DATABASES 180 4. NETWORK 183 5、CONTENTPROVIDER 183 6、执
行
SQL语句进
行
查询 188 用法1 188 其它: 188 详解: 189 查看SQLITE表格内容 192 9、常用功能的实现 193 9.1、
获取
手机型号以及系统版本号 193 9.2、更改应用程序图标 194 9.3、迎合不同的手机
分辨率
194 9.4.
ANDROID
屏幕
适应的四个原则 195 9.5、
ANDROID
常用单位 196 9.6、取得
屏幕
信息 197 9.7、横竖屏 197 9.8、程序完全全屏 200 9.8.1锁屏锁键盘 200 9.9、程序的开机启动 201 9.10、动态START页面 208 9.11、彻底退出当前程序 212 9.12、
获取
应用程序的名称,包名,版本号和图标 212 9.13、调用
ANDROID
INSTALLER 安装和卸载程序 215 9.14、后台监控应用程序包的安装&卸载 216 9.15、显示应用详细列表 224 9.16、寻找应用 224 9.17、注册一个BROADCASTRECEIVER 225 9.18、打开另一程序 225 9.19、播放默认铃声 225 9.20、设置默认来电铃声 226 9.21、位图旋转 227 9.22、手机震动控制 228 9.23、SENSOR2D感应实例 228 9.24、运用JAVA MAIL包实现发GMAIL邮件 230 9.26、
ANDROID
键盘响应 236 9.27、后台监听某个按键 238 9.28、VECTOR用法 239 9.29、CURSOR 242 9.30、把一个字符串写进文件 244 9.31、把文件内容读出到一个字符串 245 9.32、扫描WIFI热点演示实例教程 246 9.33、调用GOOGLE搜索 249 9.34、调用浏览器 载入某网址 249 9.35、
获取
IP地址 249 9.36、从输入流中
获取
数据并以字节数组返回 250 9.37、通过
ANDROID
客户端上传数据到服务器 251 9.38、文件下载类 255 9.39、下载文件的进度条提示 263 9.40、通过HTTPCLIENT从指定SERVER
获取
数据 265 9.41、通过FTP传输文件,关闭UI获得返回码 266 9.42、激活JAVASCRIPT打开内部链接 266 9.43、清空手机COOKIES 267 9.44、检查SD卡是否存在并且可以写入 267 9.45、
获取
SD卡的路径和存储空间 268 9.46、将程序安装到SD卡 268 9.47、创建一个SD映像 269 9.48、查看手机内存存储 269 9.49、在模拟器上调试GOOGLE MAPS 271 9.50、建立GPRS连接 273 9.51、
获取
手机位置 274 9.5* 获得经纬度,地名标注在地图上 274 9.52、获得两个GPS坐标之间的距离 276 9.53、通过经纬度显示地图 277 9.54、路径规划 277 9.55、将坐标传递到GOOGLE MAP并显示 277 9.56、
获取
本机电话号码 280 9.57、获得手机联系人 280 9.58、2.0以上版本查询联系人详细信息 282 9.59、2.0以上版本添加联系人 285 9.60、拨打电话 287 9.61、发送SMS、MMS 287 9.62、监听电话被呼叫状态 288 9.63、监听要拨打的电话(可以后台进
行
修改号码) 290 9.64、后台监听短信内容 291 9.65、删除最近收到的一条短信 292 9.66、调用发短信的程序 293 9.67、后台发送短信 293 9.68、调用发送彩信程序 294 9.69、发送EMAIL 294 9.70、播放多媒体 295 9.71、控制音量 296 9.72、定义CONTENTOBSERVER,监听某个数据表 302 9.73、打开照相机 303 9.74、从GALLERY选取图片 303 9.75、打开录音机 303 9.76、语音朗读 303 9.77、手机
获取
视频流显示在电脑上 305 9.78、蓝牙的使用 313 9.79、一个很好的加密解密字符串 316 9.80、DRAWABLE、BITMAP、BYTE[]之间的转换 318 9.81、高循环效率的代码 320 9.82、给模拟器打电话发短信 321 9.83、加快模拟器速度 321 9.83.1、模拟器 “尚未注册网络” 322 9.84、EMULATOR
命令
行
参数 322 9.85、如何进
行
单元测试 323 9.86、
ANDROID
自动化测试初探 324 9.86.1、捕获Activity上的Element 324 9.86.2、Hierarchyviewer 捕获Element的 328 9.86.3、架构实现 330 9.86.4、模拟键盘鼠标事件(Socket+Instrumentation实现) 332 9.86.5、再述模拟键盘鼠标事件(
adb
shell 实现) 334 9.87、反编译APK 344 9.88、更换APK图标(签名打包) 348 9.89、利用
ANDROID
MARKET赚钱 363 9.90、
ANDROID
-MARKET 使用 365 9.91、传感器 369 9.91.1、
获取
手机上的传感器 369 9.91.2、 371 9.92、时间类 372 * 获得日期或时间字符串 372 * num天前的日期 373 * num天后的日期 373 * 判断 thingdate 的 dotime 天后是否在今天之后 374 * 判断testDate+testTime是否在两个时间之内 375 附录: 378 附录1、XML布局中的常用属性 378 1.通用属性 378 2.Edit Text部分属性 381 3.layout_alignParentRight
android
:paddingRight 384 附录2、INTENT ACTION 385 附录3、
ANDROID
的动作、广播、类别等标志 387 ★★★附带工具包说明 393 1.APK反编译工具.rar 393 2.APK安装工具.rar 393
Android
80,358
社区成员
91,290
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章