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 ...
随机推荐
- mybatis 使用动态SQL
RoleMapper.java public interface RoleMapper { public void add(Role role); public void update(Role ro ...
- iOS设备屏幕像素总览
本文永久地址为http://www.cnblogs.com/ChenYilong/p/4011728.html ,转载请注明出处. 本文永久地址为http://www.cnblogs.com/Ch ...
- SSDT Hook实现简单的进程隐藏和保护【转载】
原文链接:http://www.blogfshare.com/ssdthook-hide-protect.html 原文作者:AloneMonkey SSDT Hook实现简单的进程隐藏和保护 Alo ...
- 彻底理解数字图像处理中的卷积-以Sobel算子为例
彻底理解数字图像处理中的卷积-以Sobel算子为例 作者:FreeBlues 修订记录 2016.08.04 初稿完成 概述 卷积在信号处理领域有极其广泛的应用, 也有严格的物理和数学定义. 本文只讨 ...
- 基于 MeanShift 算法的目标跟踪问题研究
参考:http://www.cnblogs.com/tornadomeet/archive/2012/03/15/2398769.html MeanShift 算法作为一种基于特征的跟踪方法,基本思想 ...
- ZeroMQ(java)之负载均衡
我们在实际的应用中最常遇到的场景如下: A向B发送请求,B向A返回结果.... 但是这种场景就会很容易变成这个样子: 很多A向B发送请求,所以B要不断的处理这些请求,所以就会很容易想到对B进行扩展,由 ...
- Nmap备忘单:从探索到漏洞利用 Part1
在侦查过程中,信息收集的初始阶段是扫描. 侦查是什么? 侦查是尽可能多的收集目标网络的信息.从黑客的角度来看,信息收集对攻击非常有帮助,一般来说可以收集到以下信息: 电子邮件.端口号.操作系统.运行的 ...
- hrb 2134 素数
分拆素数和 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 176(99 users) Total Accepted: 106(93 u ...
- Longest Common Subsequence & Substring & prefix
Given two strings, find the longest common subsequence (LCS). Your code should return the length of ...
- HAST 使用笔记
1.环境 2台 freebsd 9.2的机器,/home分区为260G,需要将其转为hast块设备 2.安装 (1)先umount /home,然后注释掉/etc/fstab上的/home记录: # ...