本章学习adt安卓打包过程、adb指令学习、并通过adb将打包的APK发给设备
1.打包
在eclipse中已经帮我们实现打包了.
具体打包流程如下:
最终一个APK包含了如下:
- classes.dex文件 (由class编译过来的)
- resources.arsc文件 (编译过的资源文件)
- AndroidManifest.xml文件 (描述文件版本,应用中的各个组件)
- uncompiled resources文件 (未被编译的文件,比如视频等)
- META-INF签名文件夹
ecilipse打包过程如下:
点击export signed application package(导出带签名的APP包,签名的作用是避免盗版):
然后选择要导出的项目,点击next,如下图所示:
然后这个界面让我们填写证书信息的,我们选择"Create new keystore"新建一个签名(keystore:用于对APP签名的),选好保存位置,写好密码,密码默认123456吧,点击继续"next";
然后开始创建签名,写完后"next",如下图所示:
注意:
- validity: key的有效期,如果填的年份短,到时候key过期了,则发布新版本APP时,只能换个key,从而导致APP无法升级,只能重装APP才行,
- 因为一个APP唯一性是通过(包名+签名识别)的.
然后就可以选择软件APK的存放地址,点击"finish",如下图所示:
然后,就可以看到已经多了一个"helloworld.apk"文件了!
接下来,我们便来学习adb指令,来安装helloworld
2.adb指令
安装相关命令
adb kill-server //关闭连接 adb start-server //开启连接 adb devices //显示连接的设备,如果要指定向某个设备发送命令,则使用: adb -scmd adb uninstall com.example.helloworld //卸载以前的helloworld,必须写包名才行 adb install F:\android\apk\helloworld.apk //安装我们刚刚打包的APK
其它常用命令
adb shell //进入设备shell模式(就可以通过cd、cat等linux命令操作设备) adb shell ls //快捷使用ls命令,当然也可以写成其它常用命令 /*push:推,将文件拷贝到设备的指定目录中*/ adb remount //将 '/system' 部分置于可写入的模式,默认是只读模式. adb push C:\Users\Administrator\1.xml /system/lib //将1.xml拷贝到设备指定目录下
/*pull:拉,将设备的文件拉取到PC机上*/ adb pull /data/log d:/log
push时可能遇到问题1:
表示/system/lib下存储空间不足.
通过adb shell fb查看确实为0:
这是因为模拟器启动的时候,为了避免内存浪费,所以system节省为0.
提示:在ADT界面上也可以使用push/pull.
push如下图所示:
pull如下图所示: