Android 签名打包

签名打包(命令行)html

一、keytool -genkey -alias android123.keystore -keyalg RSA -validity 20000 -keystore android123.keystoreandroid

 

二、jarsigner -verbose -keystore android123.keystore -signedjar android123_signed.apk android123.apk(须要签名的apk) android123.keystoreapp

 

 

 

Android Studio签名eclipse

一、生成jks文件工具

keytool -genkey -alias android123.keystore -keyalg(与下面key alias名字必须同样) RSA -validity 20000 -keystore android123.jks(jks文件的名称,可本身命名)gradle

Android Studio签名打包的两种方式

签名打包的两种方式:ui

注:给咱们本身开发的app签名,就表明着我本身的版权,之后要进行升级,也必需要使用相同的签名才行。签名就表明着本身的身份(即keystore),多个app可使用同一个签名。url

若是不知道签名是啥意思,请自行百度哦。在eclipse中签名的方法是:选中工程,邮件选择"export-android-export android application",spa

一、方式1:经过Android Studio进行签名:命令行

选中app这个module,选择菜单栏"Build-Generate signed apk":

30d1daba-bdb4-4dde-9324-89293482a84e

弹出以下界面:

5a3058ac-cba2-44d1-84cf-b77b246bb4d1

上图中,若是你是第一次使用签名,就单击红框部分建立一个新的签名;若是你以前有过签名的文件,就选择蓝框部分进行导入便可。那我就先选择红框部分吧:

70ae6ac4-ed0b-4938-b3f5-229dba3fea29

3b69eb78-a2bc-408b-b49f-272b46b32a31

3ef16884-13b8-453f-bad5-b9dba1a667f7

f757b8aa-277b-45f0-9afd-403adc82082c

上图中,点击"finish"以后,能够看到Android Studio的最下方显示:Gradle正在执行assembleRelease这样一个任务,以下图所示:

bf6076fd-480d-48b4-bb1a-e2bfee785e5e

生成签名好的apk以后,会弹出提示:

8b42d822-e3a2-4c66-aea4-6b2b4e83fef3

77cd9b25-b0f0-4f0b-85ec-c00b4e13b61b

 

 

二、方式2:经过命令行的方式进行签名:

(1)加载Key Store:

咱们先删掉上面的经过第一种方式所签名的apk文件。接下来进行第二种方式来签名,即命令行的方式。

打开Project Stucture图形化界面:

03458b6c-92b8-42be-ab1d-e2c3097570eb

d6d07e96-330b-40c6-bc22-32fc37391144

上图中,选中app这个module,而后切换到singning标签栏,紧接着点击添加,而后生成release签名信息,紧接着点击"OK"。接着作以下操做:

c638147d-7741-4c63-9d3a-0066ac959219

上图中,切换到Build Types标签,将Signing config选择为"release",即将刚刚生成的release签名信息配置进去。

操做完成以后,咱们能够看到app这个module的build.gradle文件多出了以下红框部分的代码:

f59c1858-e26a-41a4-96b5-f7e32eb6c8ac

而后执行菜单栏的"build-clean Project":

a7af4c5b-23c2-4997-8d6f-47940c1a0f1c

(2)生成realease版本的apk:

紧接着在命令行Terminal输入以下命令:(AS已经将命令行Terminal集成到了软件当中)

gradlew assembleRelease

若是运行成功,效果以下:

74e21bb0-7afc-4bc6-9103-a4748f2003bf

生成的签名好的apk在以下位置:

b8f81109-cf7f-4649-a4da-a4bb91a3c96a

 

三、为何要使用gradlew命令而不是gradle命令:

在HelloWorld工程目录下有一个gradle文件夹,在gradle/wrapper目录下有一个gradle-wrapper.properties文件,打开它:

c5bb106f-081e-40d8-816e-ea04a4814977

上图表明着HelloWorld这个工程所依赖的gradle的版本信息。上图的红线表示,若是咱们的工程中没有gradle,软件会根据这个url去下载gradle,终于知道为啥第一次打开AS时会这么慢了吧?

若是咱们执行了gradlew命令,其实是执行上面的gradle wrapper,而后找到咱们已经下载好的gradle 2.2.1。若是如今有不少个工程,可是每一个工程的gradle版本都不同,我就必需要将每一个版本的gradle都要配置到环境变量当中,而执行了gradlew命令,就会避免这个麻烦。

 

 

eclipse打包

Android 打包签名 从生成keystore到完成签名 -- 转

AndroidXMLSQLite虚拟机Eclipse


参见官网: http://developer.android.com/tools/publishing/app-signing.html 

 

进入生成工具: 
 


工具帮助: 
 
 



输入指令并得到结果: 
 
 




转自: http://www.cppblog.com/fwxjj/archive/2010/05/24/116208.html 



首先,咱们须要一个keystore,固然已经有了的话就不用这一步了: 
cmd下: 
进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候咱们须要这个文件 
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore 
输入keystore密码: 
再次输入新密码: 
您的名字与姓氏是什么? 
  [Unknown]:  qiaoling您的组织单位名称是什么? 
  [Unknown]:  www.chinaandroid.com 
您的组织名称是什么? 
  [Unknown]:  www.chinaandroid.com 
您所在的城市或区域名称是什么? 
  [Unknown]:  haidian 
您所在的州或省份名称是什么? 
  [Unknown]:  BJ 
该单位的两字母国家代码是什么 
  [Unknown]:  86 
CN=qiaoling, OU=www.chinaandroid.com, O=www.chinaandroid.com, L=haidian, ST=BJ, C=86 正确吗? 
  [否]:  Y 
输入<android.keystore>的主密码(若是和 keystore 密码相同,按回车): 

其中参数-validity为证书有效天数,这里咱们写的大些10000天。还有在输入密码时没有回显(尽管输就是啦) 而且 退格,tab等都属于密码内容,这个密码在给.apk文件签名的时候须要. 



而后签名: 
Eclipse中,右击须要签名的工程-->android tools-->export signed application package... 
出现下面对话框,选择须要签名的工程 

next,选择上面生成的android.keystore文件位置和设置的密码 

next 
 

next,选择签名生成文件的位置和名称 

相关文章
相关标签/搜索