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 ...
随机推荐
- meeting,symposium,seminar 等区别
meeting,symposium,seminar 等区别 会议分类的方式可说是不胜枚举,这点初步由英文对会议名称的写法,就可看出端倪,像是Assembly,Caucus,Colloquium, Co ...
- spring如何管理mybatis(二) ----- SqlSession的线程安全性
在之前的文章中我们了解到最终的数据库最终操作是走的代理类的方法: @Override public Object invoke(Object proxy, Method method, Object[ ...
- linux怎么执行jar文件 怎么打可执行的jar包
Linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.ja ...
- Linux如何解决动态库的版本控制
引用自:http://www.linuxidc.com/Linux/2012-04/59071.htm (换句话说,soname不是真实存在的文件,只是在此库中和将来调用此库的文件中保存的一个名字,在 ...
- web.js
var page = require('webpage').create(), system = require('system'), address,output,csvPath,nodePathF ...
- 排序算法的JS实现
排序算法是基础算法,虽然关键在于算法的思想而不是语言,但还是决定借助算法可视化工具结合自己常用的语言实现一下 1.冒泡排序 基本思路:依次比较两两相邻的两个数,前面数比后面数小,不变.前面数比后面数大 ...
- 今天我碰到了由于web.xml文件表头信息导致润乾报表启动失败的问题,解决方案如下
下面是从2.3,2.4.2.5 3.0集中版本的web.xml头信息的细节,当发现系统启动不报错但是该生成的功能没有正常生成,特别是在这次配置润乾报表的时候发现用2.4版本的时候,在web.xml中配 ...
- SqlServer自定义函数Function中调用with as
SET QUOTED_IDENTIFIER ON 标识符可以由双引号分隔,而文字必须由单引号分隔 SET QUOTED_IDENTIFIER OFF 标识符不可加引号,且必须遵守所有 Transact ...
- java8中ConcurrentHashMap
HashMap的线程不安全主要体现在resize时的死循环及使用迭代器时的fast-fail上. Fast-fail: fail-fast 机制是java集合(Collection)中的一种错误机制. ...
- 《NodeJS开发指南》第五章微博实例开发总结
所有文章搬运自我的个人主页:sheilasun.me <NodeJS开发指南>这本书用来NodeJS入门真是太好了,而且书的附录部分还讲到了闭包.this等JavaScript常用特性.第 ...