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 ...
随机推荐
- C#中Delegate和Event以及它们的区别(转载)
一.Delegate委托可以理解为一个方法签名. 可以将方法作为另外一个方法的参数带入其中进行运算.在C#中我们有三种方式去创建委托,分别如下: public delegate void Print( ...
- 定义declare、%TYPE%、ROWTYPE、加循环
%TYPE:定义一个变量,其数据类型与已经定义的某个 数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE. %ROWTYPE PL/SQL 提供%ROWTYPE 操作符, ...
- heap和stack有什么区别
1.heap是堆,stack是栈. 2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配. 3.stack空间有限,heap的空间是很大的自由 ...
- Serenity框架官方文档翻译3.2(多租户)
3.2多租户 在本教程中我们将把Norhwind变成一个多租户应用程序. 这是一个维基百科的多租户软件定义: 软件多租户是指一个软件架构的一个实例软件运行在一个服务器和多个租户.租户是一组共享一个公共 ...
- vim设置语法高亮
在vim安装目录中的_vimrc修改,加上以下的代码. set nu! colorscheme desert syntax enable syntax on
- 查看域名对应的ip地址
nslookup www.google.com.hk
- 5款Linux最佳照片管理软件
在谈到 Linux 中的应用程序时,对于不同的用户.不同的使用场景以及不同的使用习惯,在同一类应用当中,总会有多种软件可供选择和备选.就 Linux 中的照片管理软件来说,相信此前的 Google P ...
- basic use of sidekiq
参考页面 https://github.com/mperham/sidekiq https://github.com/mperham/sidekiq/wiki/Getting-Started 强烈推荐 ...
- [BZOJ2423][HAOI2010]最长公共子序列
[BZOJ2423][HAOI2010]最长公共子序列 试题描述 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x ...
- poj2632 模拟
Crashing Robots Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8388 Accepted: 3631 D ...