学会使用Android SDK中的工具创建工程并运行APP
实验目的:学会使用Android SDK中的工具创建工程并运行APP
实验题目:使用SDK中的Android命令创建工程(注意,不用Android Studio),然后编译此工程,生成apk文件app1.apk,使用Android命令创建AVD,名为software_avd,最后使用adb命令将此apk文件运行到模拟器上。
实验步骤:(可以有代码和截图)
首先,配置环境变量
打印出我们所有的Android SDK中下载好的可用Android platforms,找想要创建项目的目标platform,记录该platform对应的Id。
参数说明:
list target:列出机器上所有已经安装的Android版本
创建Android应用程序
参数说明:
-n --name 应用程序的名字
-t --target SDK Target ID
-p --path 应用程序的工作目录
-k --package 应用程序的包名
-a --activity 默认创建的Activity的名字
命令执行,再one 文件夹中自动创建如下:
编译Android程序,生成R.java文件
首先需要进入HelloWorld工程根目录下建立gen目录:
在命令行中执行mkdir gen命令,然后执行如下命令生成R.java文件:
参数说明:
-f : 强制覆盖现有文件
-m : 在-J指定的位置下生成包目录
-J : 指定输出R.java资源常量定义的位置
-S : 查找资源的目录。将扫描多个目录
-I : 将现有包添加到基包含集
-M : 指定要包含在zip中的AndroidManifest.xml的完整路径
命令成功执行后将会在gen目录下生成成包结构的目录树,及R.java文件!,生成结果如下图所示:
将java源文件编译为.class文件(需要编译的.java文件分布在不同的文件夹下)
参数说明:
-encoding <编码> 指定源文件使用的字符编码
-bootclasspath <路径> 覆盖引导类文件的位置
-d <目录> 指定存放生成的类文件的位置
生成的.class文件如下图所示
使用Android SDK提供的dx.bat命令行脚本生成classes.dex文件生成classes.dex文件(Android虚拟机只能执行dex文件。)
参数说明:
C:\one\Helloworld\bin\classes.dex:为dx工具产生的dex二进制jar包!
C:\one\Helloworld\bin:为源代码导出的jar包,
命令生成的.dex文件如下:
使用Android SDK提供的aapt.exe生成资源包文件(包括res、assets、androidmanifest.xml等)
参数说明:
-f: 强制覆盖现有文件
-S: 查找资源的目录。将扫描多个目录
-I : 将现有包添加到基包含集
-M : 指定要包含在zip中的AndroidManifest.xml的完整路径
-F: 指定要输出的apk文件
命令生成的.ap_文件如下图所示:
生成未签名的apk文件
参数说明:
-cp <目录和 zip/jar 文件的类搜索路径>
生成结果得到的APK文件如下图所示:
生成证书文件:上面只是生成了一个没有证书的apk文件,Android是不会去安装一个没有数字证书签名的apk包的,所以需要安装apk的话,必须用一个数字证书对其签名后,才可!
命令生成的.keystore文件如下:
通过jarsigner命令用证书文件对未签名的APK文件进行签名
在使用jarsigner命令的时候可能会出现以下错误
解决方法是去java\jdk\bin目录下执行jarsigner.exe
参数说明:
[-verbose] 签名/验证时输出详细信息
[-keystore ] **库位置
[-signedjar <文件>] 已签名的 JAR 文件的名称
命令执行后会在目录下生成一个已签名的apk
创建Android虚拟机:
参数说明:
create avd: 创建一个AVD设备
-n -t: 指定AVD的名字和SDK Target ID
创建成功结果验证:
开启虚拟机:
参数说明:
-avd 使用指定AVD设备
-logcat 查看日志
向虚拟机中安装测试软件:
程序在avd上运行结果: