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签名apkAndroid 使用Android Studio + Gradle 或 命令行 进行apk签名打包,然后对我来说也是没什么起作用。
于是乎我就放弃了自己用命令行来签名了。最后在网上找了一个绿色免安装的APKSign工具,将证书和密码输入之后就妥妥的了,类似如下

至于APKsign工具,如果有兴趣可以去我的百度云盘下载

其实都是很基础的东西,也不知道有没有更便捷的方法来打包生成未签名包,然后进行该包的正确性。如果有更好的方法希望能够留言提供一下哦,谢谢了。

Android Studio打包未签名包的更多相关文章

  1. Android Studio 打包时 Signature Version 选择V1还是V2 ?

    只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...

  2. eclipse 和 android studio 打包签名apk问题

    首先,我使用eclipse打包了一个签名apk 然后,我使用同一个签名文件在android studio 打包同一个项目 接下来,首先安装eclipse 打包的apk,然后安装android stud ...

  3. Android Studio 打包及引用 aar

    Android Studio 打包及引用 aar 1. 简述 在比较大的 Android 项目的开发中,我们经常会遇到工程.jar 包等等之间相互引用的方式.一般我们通过在 gradle 文件中配置依 ...

  4. Android tips(八)-->Android Studio打包apk,aar,jar包

    文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...

  5. Android Studio 打包自定义apk文件名

    使用Android Studio打包的时候,我们有时候需要自定义apk的文件名,在此记录一下. 在app的build.gradle中,根节点下使用关键词def声明一个全局变量,用于获取打包的时间,格式 ...

  6. Android Studio 打包APK时,出现3个或多个APK

    Android Studio 打包APK时,原来只会出现一个apk,结果现在出现3个apk,仔细检查了一下项目文件发现: Android Studio 的 buid.gradle文件里有个配置项被更改 ...

  7. Android Studio打包apk,aar,jar包

    转载请标明出处:一片枫叶的专栏 文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独 ...

  8. uni-app&H5&Android混合开发二 || 使用Android Studio打包应用APK

    前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了. 第一步.首先打开 ...

  9. Android Studio 打包签名教程

    android studio apk第三方加固与签名,混淆打包 https://jingyan.baidu.com/article/f25ef2545386af482c1b828f.html Andr ...

随机推荐

  1. linux ftp命令(转)

    此命令需要安装ftp, yum install ftp 1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 ...

  2. TCP,IP,HTTP,SOCKET区别和联系

    物理层-- 数据链路层-- 传输层--                       TCP协议 会话层-- 我 们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便 ...

  3. TYVJ2477 架设电话线

    题目描述 Farmer John打算将电话线引到自己的农场,但电信公司并不打算为他提供免费服务.于是,FJ必须为此向电信公司支付一定的费用.     FJ的农场周围分布着N(1 <= N < ...

  4. Ubuntu 开机自启动工具 update-rd.d 使用详解

    常用命令: $ sudo update-rc.d nginx defaults      #增加服务 $ sudo update-rc.d -f nginx remove    #移除服务 Linux ...

  5. MYSQL主从数据库搭建

      sc delete "服务名"    删除服务   环境: (以下是我这次搭建所使用的环境) 主数据库: 系统:ubuntu : MYSQL  5.1.63 :ip:192.1 ...

  6. xxxx is not translated in zh-rCN, zh-rTW

    1.异常提示: "image_content" is not translated in zh-rCN, zh-rTW 2.错误原因: 根据报错提示,是说我没有对string文件做 ...

  7. 解决win8下chrome浏览器打开提示没有注册类的方法

    今天又把win8装回来了,继续装了个chrome浏览器,但是发现只能从安装的文件打开,从快捷方式或者快速启动栏都会提示没有注册类.找到一种解决的办法是删除注册表中的相关键值,具体如下: 1.打开注册表 ...

  8. Linux下使用fdisk扩展分区容量

    导读 我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,比如:共享文件服务器硬盘空间不足,在这个时候我们就需要增加磁盘空间,来满足线上的业务:又或者我们在使用linux的过程中, 有时 ...

  9. vundle安装 给vim插上翅膀

    (这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) vundle安装方法如下 首先执行以下命令 $ git clone https://githu ...

  10. Linux 怎么查看服务的启动进程所占用的目录

    lsof简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以 ...