android应用程序的发布学习(二)

上一篇发现只翻译了Debug版本,没翻译Release版本,这里再翻译一些。同时也介绍了api设置的一些相关事宜。

一、给Release版本签名
这种签名是你准备发布程序给用户使用,你必须做到以下几点:
1.获得一个合适的私钥
2.在release模式下编译应用程序
3.用私钥给应用程序签名
4.优化最终的apk程序
PS:如果你用带有ADT插件的Eclipse开发程序,你可以中导出向导(Export Wizard)来执行编译
、签名、和优化步骤。导出向导甚至允许你生成新的keystore或者私钥。因此如果使用Eclipse
你可以直接跳到Complie and sign with Eclipse ADT
1.获得合适的签名
在给程序签名阶段,必须保证有合适的私钥。它满足以下几点:
   .是自己拥有
   .能够代表个人、公司、或者团体组织
   .有效的日期(推荐25年)
   .不是由Android SDK tools产生的debug key
如果没有合适的私钥,可以使用Keytool生成。
使用keytool来配合下面命令在生产相关的私钥

Keytool Option
 
Description
 


-genkey

Generate a key pair (public and private keys)
 


-v

Enable verbose output.
 


-alias <alias_name>

An alias for the key. Only the first 8 characters of the alias are used.
 


-keyalg <alg>

The encryption algorithm to use when generating the key. Both DSA and RSA are supported.
 

太多请参照sdk文档

Here's an example of a Keytool command that generates a private key:
$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

2在release模式下编译程序
 发布给用户的程序应该在release模式下编译。在这种模式下不会使用默认的签名,需要自己使用私钥签名

二、给应用程序打版本
版本号对一个应用程序来说非常重要。具体怎么自己看SDK/Dev Guide/Publishing/Version Your Applications
android:versionCode——一个整形值,这代表了应用程序代码的版本,这个是给以后维护和升级使用
                     以后每发布一个版本的值都要比这个值要高!一般建议从1开始。
android:versionName——一个字符串值,这个值是给使用程序的用户看的,可以在相关信息中查看
       可以使用这种方式写这个值<major>.<minor>.<point>,作为一个绝对
这两个属性在<manifest>元素中声明,下面是一个例子:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.package.name"     
android:versionCode="2"     
android:versionName="1.1">  
<application android:icon="@drawable/icon" android:label="@string/app_name">
...   
</application></manifest>

三、表明自己api的要求:
由于android的版本不断升级你,不断有api更新,而且有的版本不支持一些API,手机上的android版本也不统一
所以要声明一下:
 .android:minSdkVersion——应用程序运行所需要的最小android平台。默认值为1
 .android:targetSdkVersion——应用程序设计的目标是运行在那个平台上。可以这么认为就是你在那个平台上设计
  运行的程序。
 .android:maxSdkVersion——应用程序设计能够运行在最大在那个android平台上。


 要指明一个应用程序能够运行的最低API级别,应当在该应用程序的清单文件的<uses-sdk>元素中加入android:minSdkVersion属性。

android:minSdkVersion的值是一个正整数,对应的是该应用程序能够运行的最低平台的API级别标识。

用户尝试安装一个应用程序,或者在系统升级后重验证应用程序的时候,Android系统首先会检查应用程序的清单文件中的<uses-sdk>属性,将其与系统内部API级别对比。系统只有在满足下列情况时才允许进行应用程序安装:

如果声明了android:minSdkVersion属性,其属性值必须小于或等于该系统的API级别对应的整数值。

如果未声明,系统会默认该应用程序运行需要的最低API级别是1。
如果声明了android:maxSdkVersion属性,其属性值必须等于或大于该系统的API级对应的整数值。

如果未声明,系统会默认该应用程序没有最高API级别限制。

应用程序清单文件中声明该属性后, <uses-sdk>元素看起来应类似于下面的例子:

 <manifest>

  <uses-sdk android:minSdkVersion="6" / >

</manifest>

原文地址:https://www.cnblogs.com/wuyida/p/6300668.html