Android Studio签名打包的两种方式

来源:互联网 发布:域名 park 赚钱 编辑:程序博客网 时间:2024/04/28 09:29

Android Studio签名打包的两种方式

以下截图的Android Studio版本是mac 2.2.3。

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


弹出如下界面:


选择需要签名打包的module,点击next,弹出


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



点击ok,回到前一页面,单击next



上图中,点击"finish"之后,Gradle执行任务,等待一会,如果程序没有问题,打包好的apk会出现在module目录下。




 

 

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

(1)加载Key Store:

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

打开Project Stucture图形化界面(⌘;):



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


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

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


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

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

(2)生成realease版本的apk:

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

gradlew assembleRelease

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

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

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


 

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

在工程目录下有一个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命令,就会避免这个麻烦。

本文参考于http://www.cnblogs.com/gao-chun/p/4891275.html ,我只是修改了部分图片。

后记:
1、Gradle命令在mac电脑的配置参考http://blog.csdn.net/yfsyy/article/details/54693423 
2、在执行gradlew assembleRelease命令时,由于未配置gradlew命令,故一开始报 bash: gradlew: command not found,搜索之后尝试调用./gradlew assembleRelease(http://stackoverflow.com/questions/17028009/android-studio-build-clean),然后又报Permission Denied,然后我调用命令chmod 777 gradlew解决。stackoverflow上有人说用chmod +x gradlew也可以解决这个问题。原文链接:http://stackoverflow.com/questions/17668265/gradlew-permission-denied


感谢前人的分享,让我们学会更多的知识。
0 0