Android 签名打包

签名打包(命令行)

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

 

2、jarsigner -verbose -keystore android123.keystore -signedjar android123_signed.apk android123.apk(需要签名的apk) android123.keystore

 

 

 

Android Studio签名

1、生成jks文件

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

Android Studio签名打包的两种方式

签名打包的两种方式:

注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行。签名就代表着自己的身份(即keystore),多个app可以使用同一个签名。

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

1、方式1:通过Android Studio进行签名:

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

弹出如下界面:

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

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

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

 

 

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

(1)加载Key Store:

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

打开Project Stucture图形化界面:

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

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

操作完成之后,我们可以看到app这个module的build.gradle文件多出了如下红框部分的代码:

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

(2)生成realease版本的apk:

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

gradlew assembleRelease

如果运行成功,效果如下:

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

 

3、为什么要使用gradlew命令而不是gradle命令:

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

上图代表着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 

 

进入生成工具: 
057fad20-1f4e-30fd-a34f-24d047d6ee0b.jpg 


工具帮助: 
1a6cf8ea-e2c1-36a7-a6f4-a1c5a9038846.jpg 
a79c4a09-d180-3643-b043-0f7e21aed5f6.jpg 



输入指令并获得结果: 
ddd7bd24-f0c7-3071-aa2a-67808f4e6eb4.jpg 
225d3d29-f3c1-34cc-b96f-21d70d7f4ab0.jpg 




转自: 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,选择签名生成文件的位置和名称 

转载于:https://my.oschina.net/u/2542649/blog/744338

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值