MyException - 我的异常网
当前位置:我的异常网» Android » Android Studio 超级简略的打包生成apk

Android Studio 超级简略的打包生成apk

www.MyException.Cn  网友分享于:2013-11-02  浏览:0次
Android Studio 超级简单的打包生成apk

为什么要打包:

  • apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用。打包分debug版和release包,通常所说的打包指生成release版的apk,release版的apk会比debug版的小,release版的还会进行混淆和用自己的keystore签名,以防止别人反编译后重新打包替换你的应用。 

    简单点说就是给你的apk发身份证,上户口,防止和你长的一样的人,假冒你。这里的apk身份证就是我们的“.jks”文件。所以这个jks文件很重要。 
    如果你同一代码,生成两个jks文件打包,那就代表的是两个软件。


**打包当然有很多种途径,可以用AS自带的签名,也可以通过Gradle签名等,这里就讲讲常规的。**

常规的AS打包主要分两种:

  • 一种是没有“.jks”文件的打包
  • 一种是有“.jks”文件的打包

一、 没有“.jks”文件的打包

首先 我们选择Build -> Generate Signed APK

这里写图片描述

会出现: 
这里写图片描述

因为我们是没有密钥的(身份证)所以我们要去生成一个密钥,所以这里我们选择 Create new… 
(注意:这里有两个“密钥的密码” 因为一个是密钥的密码,一个是key的密码,但是通常我们在设置的时候会选择设置同一个,这样方便我们记忆,所以这里都认为是密钥的密码。)

选择Create new…之后会出现: 
这里写图片描述 
点击ok之后,则选择好了文件,并生成了jks文件了。 
这里写图片描述

点击ok之后, 会出现: 
这里写图片描述

这些都是自动带出来的 
是否记住密码,你要是怕你忘记密码,你就可以选择记住密码。 
接下来就是Next 
这里写图片描述 
最后点击Finish 
这是android studio的地步会出现 
这里写图片描述 
正在编译,当AS的右上角出现 
这里写图片描述 
表示打包成功 
点击直接打开生成的apk文件的位置 
这里写图片描述

二、 有“.jks”文件的打包

首先我们选择Build -> Generate Signed APK 
这里写图片描述 
选择已经存在,然后打开文件夹,找到对应的“.jks”文件 
这里写图片描述 
我的jks文件是放在E盘,叫test.jks 点击OK 
这里写图片描述

别名是test,输入密码,点击Next,后面的步骤,和上面的一样。

 

Android Studio的Signature Versions选择,分别是什么意思

打包一个文件的签名版本,

选V1打包出来的app是jar的(一般这种就是当做第三方导入项目来用的),

选v2打包出来的APP是apk版本的(也就是可以直接在手机上安装的,可是上线的);

注意:如果您使用 APK Signature Scheme v2 签署您的应用,并对应用进行了进一步更改,则应用的签名将无效。出于这个原因,请在使用 APK Signature Scheme v2 签署您的应用之前、而非之后使用 zipalign 等工具。

如需了解详细信息,请阅读相关的 Android Studio 文档,这些文档介绍了如何在 Android Studio 中签署应用以及如何使用 Android Plugin for Gradle 为签署应用配置构建文件。

 

Android Studio 打包 release 版本后无法安装的问题

今天在给应用打包的时候碰到一个很诡异的问题,搞了半天仍然没有解决,最后还是在 stack overflow 上找到了解决办法。

问题描述: 
在 Android Studio 2.3上通过 Generate Signed APK 打包 release 版本,打包过程一切顺利,正要愉快的玩耍的时候,郁闷的事情来了。 
一安装提示安装失败,刚点击安装就直接一个大红叉冒出来。但是如果是打包的 debug 版本则没有这个问题。然后找原因,试了各种办法,无果。

没办法,只能 Google 了,最后终于在 stack overflow 上找到了解决办法,碰到这个问题的人应该还是有一些的,其实是 Android Studio 的一个坑,以后注意一下就好了。

具体办法就是在打包的第二步,让你选择签名版本的时候,那二个 V1,V2 版本都要选上,我一开始就是只选了 V2,因为看它括号里面写的是 Full APK Signature ,,,心想既然是 full,那应该没问题,结果就被坑惨了。 

 

这里吐槽下,既然不选第一个就不能安装,为何还要弄出一个默认不选中的多选框出来让人选,真是坑爹!

文章评论

鲜为人知的编程真相
鲜为人知的编程真相
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员都该阅读的书
程序员都该阅读的书
漫画:程序员的工作
漫画:程序员的工作
编程语言是女人
编程语言是女人
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员必看的十大电影
程序员必看的十大电影
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
代码女神横空出世
代码女神横空出世
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员的鄙视链
程序员的鄙视链
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
Java程序员必看电影
Java程序员必看电影
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
每天工作4小时的程序员
每天工作4小时的程序员
我是如何打败拖延症的
我是如何打败拖延症的
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
如何成为一名黑客
如何成为一名黑客
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
老程序员的下场
老程序员的下场
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序员和编码员之间的区别
程序员和编码员之间的区别
一个程序员的时间管理
一个程序员的时间管理
中美印日四国程序员比较
中美印日四国程序员比较
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
那些争议最大的编程观点
那些争议最大的编程观点
旅行,写作,编程
旅行,写作,编程
10个调试和排错的小建议
10个调试和排错的小建议
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
 程序员的样子
程序员的样子
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
为什么程序员都是夜猫子
为什么程序员都是夜猫子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员应该关注的一些事儿
程序员应该关注的一些事儿
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有