Android Studio打包未签名包
Android Studio打包未签名包
好久没有写技术博客了,真有点懈怠了,作为35岁的程序员,转行重新捡起这些知识,还是挺犹豫纠结的,不过没啥其它办法,一点一滴开始吧,今天这开篇就小结点前几天工作中遇到的关于如何通过Android Studio打包未签名包。
打包未签名包
因为并不是从基础一步一步学起的,所以很多东西都是现有工程结合网上知识混着用一下,能解决问题就行了,现在的程序员,特别是小公司的程序员,一般能找到现成解决方案实现项目需求就可以了。哪有那么多时间去一步一步分析每一行代码的来由呢。转战Android Studio,还是参照Android Studio系列教程六--Gradle多渠道打包来编写build.gradle文件的,平时打包也好好的,突然来个需求说是要打包一个为签名包,第一反应居然不是修改build.gradle,而是去上网搜索,结果五花八门的答案啊。连stackoverflow上的Android: Build Unsigned APK with Gradle对我来说也是不适用,不过根据他的原理,我就想着干脆把build.gradle文件中“buildTypes”的“release”选项中的“signingConfig signingConfigs.release”这一项删除掉试试看,结果还真的打了一个包出来。
那么通过上述方法打出来的这个包是否符合要求呢?
试了安装,结果安装不成功,报解析错误,命令行报错如下
Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
查看签名信息
因为装不上,报错说解析错误,是不是打包正确了呢?
虽然自己以前曾整理过一篇关于Android开发中的证书和密钥等问题的小随笔,但是当时是围绕证书展开的,至于apk以后怎么着,当时没有涉及。于是又去搜索一通看到一篇查看APK的签名的方法,里面的方法,无非就是将apk进行解压缩,然后看看里面有没有META-INF文件夹,有的话就可以查看证书信息,没有的话就是没有签名。于是我解压缩了下刚刚生成的无签名包,果然是没有

手动签名
但是这个打出来的未签名的包到底能不能用呢?
我不知道有没有什么好的验证方法,我能想到的就是手动再给它签名,虽然上文中的《查看APK签名的方法》一文中有提到用jarsigner给空白包签名,但是我尝试着签过以后发现签是签了,但是报如下错误
警告:
未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期日期 (2034-01-10) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。
将签完名的包尝试进行安装,还是安装失败,在eoe上有个帖子Android之apk文件签名——keytool 和 jarsigner的使用,里面也有网友提到相关的问题,有说因为操作系统64位相关的,也有说因为jdk版本的,但是没有看到具体解决方法。后来我又找了几篇文章,类似APK签名之keytool生成keystore和jarsigner签名apk和Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包,然后对我来说也是没什么起作用。
于是乎我就放弃了自己用命令行来签名了。最后在网上找了一个绿色免安装的APKSign工具,将证书和密码输入之后就妥妥的了,类似如下

至于APKsign工具,如果有兴趣可以去我的百度云盘下载。
其实都是很基础的东西,也不知道有没有更便捷的方法来打包生成未签名包,然后进行该包的正确性。如果有更好的方法希望能够留言提供一下哦,谢谢了。
Android Studio打包未签名包的更多相关文章
- Android Studio 打包时 Signature Version 选择V1还是V2 ?
只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...
- eclipse 和 android studio 打包签名apk问题
首先,我使用eclipse打包了一个签名apk 然后,我使用同一个签名文件在android studio 打包同一个项目 接下来,首先安装eclipse 打包的apk,然后安装android stud ...
- Android Studio 打包及引用 aar
Android Studio 打包及引用 aar 1. 简述 在比较大的 Android 项目的开发中,我们经常会遇到工程.jar 包等等之间相互引用的方式.一般我们通过在 gradle 文件中配置依 ...
- Android tips(八)-->Android Studio打包apk,aar,jar包
文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...
- Android Studio 打包自定义apk文件名
使用Android Studio打包的时候,我们有时候需要自定义apk的文件名,在此记录一下. 在app的build.gradle中,根节点下使用关键词def声明一个全局变量,用于获取打包的时间,格式 ...
- Android Studio 打包APK时,出现3个或多个APK
Android Studio 打包APK时,原来只会出现一个apk,结果现在出现3个apk,仔细检查了一下项目文件发现: Android Studio 的 buid.gradle文件里有个配置项被更改 ...
- Android Studio打包apk,aar,jar包
转载请标明出处:一片枫叶的专栏 文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独 ...
- uni-app&H5&Android混合开发二 || 使用Android Studio打包应用APK
前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了. 第一步.首先打开 ...
- Android Studio 打包签名教程
android studio apk第三方加固与签名,混淆打包 https://jingyan.baidu.com/article/f25ef2545386af482c1b828f.html Andr ...
随机推荐
- php 单态设计模式
单态设计模式通常包含以下三点: · 一个私有的 构造方法:(确保用户无法通过创建对象对其进行实例化) · 一个公有的 静态的 方法:(负责对其本身进行实例化) · 一个私有的 静态的 属性:(用于保存 ...
- 改变placeholder颜色
/* WebKit browsers */ ::-webkit-input-placeholder { color: red; text-overflow: ellipsis; } /* Mozill ...
- 模板插件aTpl
摘要: 前面给大家分享了一款js模板插件,后来经过完善推荐给大家.该插件支持ie5+,chrome等浏览器以及移动端浏览器,支持for和if语法,以及表达式. 项目地址:https://github. ...
- 域名在微信朋友圈内分享需要ICP备案 杜绝不良信息传播
就在刚刚,腾讯微信团队发布公告表示域名在朋友圈内分享需要ICP备案,杜绝打击不良互联网信息的传播.公告称根据互联网管理相关规定,即日起在微信朋友圈内分享的域名,请在2014年12月31日前完成ICP备 ...
- 利用LineRenderer画出一个圆,类似于lol中的攻击范围
http://www.unity蛮牛.com/blog-5945-1409.html 本人大四狗,学unity半年有余,写此文章纯粹记录自己的心得. 废话不多说,进入主题.... 效果如图: 首先要理 ...
- hiho #1283 hiho密码 [Offer收割]编程练习赛3
#1283 : hiho密码 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho根据最近在密码学课上学习到的知识,开发出了一款hiho密码,这款密码的秘钥是这样生成的 ...
- WPF 路由事件总结
1.什么是路由事件 已下为MSDN中的定义 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件. 实现定义:路由事件是一个 CLR 事件,可以由 R ...
- 第3章 K近邻法
参考: http://www.cnblogs.com/juefan/p/3807713.html http://blog.csdn.net/v_july_v/article/details/82036 ...
- python 之验证码
验证码原理在于后台自动创建一张带有随机内容的图片,然后将内容通过img标签输出到页面. 安装图像处理模块: pip3 install pillow
- ssh: connect to host localhost port 22: Connection refused 问题
错误原因:1.sshd 未安装2.sshd 未启动 3.防火墙 4需重新启动ssh 服务 解决方法:1.确定安装sshd: $ sudo apt-get install openssh-server ...