Android命令(更新……)
1、通过命令行安装包
语法:adb install -r apk包
例子:adb install -r D:\android\android-sdk-windows\platform-tools\ListenerApk.apk

其中:
-r:表示重新安装该程序,并保留该程序的数据
-s:安装应用到SD卡内而不是手机存储内
2、通过命令行卸载应用
语法:adb shell pm unistall -k 程序包名称
例子:adb shell pm uninstall -k com.baidu.listenerapk

其中:
-k:表示软件卸载后依然保留用户数据
3、通过命令查看apk的包名等信息
语法:aapt dump badging apk包
例子:
aapt dump badging D:\android\android-sdk-windows\platform-tools\ListenerApk.apk

具体信息:
包名:com.baidu.listenerapk
版本号:2.0
应用程序图标:res/drawable-mdpi/ic_launcher.png
系统版本号(支持的最低版本):8(即 Android Android 2.2.x)
版本对应表:
| 版本 | 对应版本 |
|
Android 1.0 |
1 |
|
Android 1.1 |
2 |
|
Android 1.5 |
3 |
|
Android 1.6 |
4 |
|
Android 2.0 |
5 |
|
Android 2.0.1 |
6 |
|
Android 2.1.x |
7 |
|
Android 2.2.x |
8 |
|
Android 2.3.2 |
9 |
|
Android 2.3.4 |
10 |
|
Android 3.0.x |
11 |
|
Android 3.1.x |
12 |
|
Android 3.2 |
13 |
|
Android 4.0 |
14 |
|
Android 4.0.3 |
15 |
|
Android 4.1 |
16 |
|
Android 4.2 |
17 |
|
Android 4.3 |
18 |
4、反编译
语法:dexdump -d classes.dex > 1.txt
将APK应用程序后缀名.apk改为.zip,解压出classes.dex,然后执行反编译命令,如图所示

5、获取应用初次启动时间
语法:adb shell am start -W -n yourpakagename/MainActivity
例子:adb shell am start -W -n com.baidu.listenerapk/com.baidu.activity.MainActivity
步骤:
1、首先执行如下命令,获得包名及lanuchActivity
aapt dump badging D:\android\android-sdk-windows\platform-tools\ListenerApk.apk

如上所示:
包名(yourpakagename):com.baidu.listenerapk
MainActivity:com.baidu.activity.MainActivity
2、执行命令:
adb shell am start -W -n com.baidu.listenerapk/com.baidu.activity.MainActivity

启动时间为:157毫秒
如上图所示:
其中ThisTime即是本次App启动所花费的时间。
am是shell中集成的一个命令,ActivityManager的简写。
一共需要提供两个参数-W,-n,其中-W是指启动完成之后,返回启动耗时,是最关键的一个参数。
-n后面跟的是需要启动的App的包名和launchActivity。点击确定之后,会发现App被成功启动,且adb中会输入以下结果。
Android命令(更新……)的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- Android 增量更新(BSDiff / bspatch)
Android 增量更新 BSDiff / bspatchhttp://www.daemonology.net/bsdiff/android的代码目录下 \external\bsdiff bsdiff ...
- Android 命令管理项目
今天介绍一下Android怎么用命令管理项目,用命令管理Android项目需要用到Android命令,首先介绍一下用Android命令创建新项目,打开命令提示窗口,导航到Android SDK 的to ...
- Android热更新开源项目Tinker集成实践总结
前言 最近项目集成了Tinker,开始认为集成会比较简单,但是在实际操作的过程中还是遇到了一些问题,本文就会介绍在集成过程大家基本会遇到的主要问题. 考虑一:后台的选取 目前后台功能可以通过三种方式实 ...
- Android SDK 更新时修改hosts文件仍然无法更新,可试试这个方法……
Android SDK 更新时修改hosts文件仍然无法更新,此时必定万分蛋疼.在hosts文件中更换了各种ip,仍然解决不了!!!!!!!!!!!!!!? 第一步: 打开此软件,等待服务器连接 第二 ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- fir.im Weekly - iOS / Android 动态化更新方案盘点
动态化更新是 App 开发必然面对的问题.在 iOS 环境下,Apple 开发者们像是" 带着手铐脚镣跳舞" ,相比之下 Android 开发者会轻松一点,有很多相关的开源框架帮助 ...
- android 命令编译
引用:http://jojol-zhou.iteye.com/blog/729254 Android 命令行手动编译打包过程图 [详细步骤]: 1使用aapt生成R.java类文件: 例: F:\e ...
- [转]Android SDK更新 Connection to http://dl-ssl.google.com refused 解决方法
问题描述 使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repository/repository ...
随机推荐
- PHP魔术方法之__invoke()
将对象当作函数来使用时,会自动调用该方法. class ShowProfile extends Controller { public function __invoke($id) { return ...
- 20155318 2016-2017-2 《Java程序设计》第五周学习总结
20155318 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 try...catch 键盘输入利用java.util.Scanner,Scanner 名 ...
- Zookeeper笔记之使用zk实现集群选主
一.需求 在主从结构的集群中,我们假设硬件机器是很脆弱的,随时可能会宕机,当master挂掉之后需要从slave中选出一个节点作为新的master,使用zookeeper可以很简单的实现集群选主功能. ...
- Project Euler Problem2
Even Fibonacci numbers Problem 2 Each new term in the Fibonacci sequence is generated by adding the ...
- Gitlab & Github
windwos上Git的使用 软件下载地址:https://github.com/git-for-windows/git/releases/download/v2.15.1.windows.2/Git ...
- jenkins+jmeter结合使用
事件背景:想实现jmeter每30分钟执行一次,但是夜里不能人工操作,结果度娘,汇总结果如下 1.配置jmeter测试环境,注意修改Jmeter的bin目录下jmeter.properties文件的配 ...
- axios笔记
参考:http://www.cnblogs.com/Upton/p/6180512.html https://cloud.tencent.com/developer/article/1098141 ...
- InnoDB Lock浅谈
数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性.InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S).排他锁(X).意向共享(IS).意向排他(IX).为了提供更好的并发,Inn ...
- KnockoutJs学习笔记(六)
这篇文章主要涉及control flow部分的binding. foreach binding主要作用于lists或是tables内数据单元的动态绑定.下面是一个简单的例子: js部分: ko.app ...
- .NetCore 使用AutoMapper
添加引用 AutoMapper AutoMapper.Extensions.Microsoft.DependencyInjection 注册服务 services.AddAutoMapper(); 配 ...