打包apk时,AndroidManifest.xml、project.properties文件说明
关键词:target API level、minSdkVersion、maxSdkVersion、targetSdkVersion
一、文件路径:Android工程目录下AndroidManifest.xml:
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19"
android:maxSdkVersion="25"/>
1.package=“com.ztesoft.push”---------------设置包名
2.android:versionCode=“0”------------------设置版本号
3.android:versionName=“V1.0.0” ------------设置版本名称
4.android:minSdkVersion=“16”--------设置apk支持的设备api最低版本。在安装程序的时候,如果目标设备的API版本小于minSdkVersion程序将无法安装。使用Eclipse时,有可能会类似警告:Attribute minSdkVersion (13) is lower than the project target API level (16)。
5.android:maxSdkVersion=“25”-------设置apk支持的设备api最高版本。在安装程序的时候,如果目标设备的API版本大于maxSdkVersion,程序将无法安装。一般来说没有必要设置maxSdkVersion。
6.android:targetSdkVersion=“19”-----程序执行时,如果目标设备的API版本正好等于此数值,将不会为此程序开启兼容性检查判断的工作,运行效率可能会高。
这个设置仅仅是一个声明、一个通知,不会有太实质的作用,例如,使用了targetSdkVersion这个SDK版本中的一个特性,但是这个特性在低版本中是不支持的,那么在低版本的API设备上运行程序时,可能会报错:java.lang.VerifyError,此属性不会帮你解决兼容性的测试问题。至少需要在minSdkVersion这个版本上将程序完整的跑一遍来确定兼容性是没有问题的。
二、文件路径:Android工程目录下defalult.properties(project.properties):
Project target.
target=android-19
7.target=android-19----------编译时使用指定API版本进行编译。
综上,上面的四个值其实是作用于不同的时期:
target API level是在编译的时候起作用,用于指定使用哪个API版本(SDK版本)进行编译。
minSdkVersion和maxSdkVersion是在程序安装的时候起作用,用于指定哪些版本的设备可以安装此应用。
targetSdkVersion是在程序运行的时候起作用,用于提高指定版本的设备上程序运行体验。
这四个数值在程序编译时没有严格的检查,例如可将minSdkVersion设置的比maxSdkVersion还大,会自动忽略掉错误的maxSdkVersion。