原文:cordova打包之android应用签名

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mate_ge/article/details/78913372

首先说一下应用签名的原因,在android系统里面,系统通过应用签名标识app,一个app有debug版本和release版本,签名打包的app就是release版本;在android系统中,不能存在两个相同appid的应用,意思差不多就是说不能存在两个相同包名的应用,但是debug版本是可以调试的,如果最终用户安装的是debug版本,其他人可以通过调试获取app的日志输出信息,极不安全,所以最终用户安装的必须是release版本,但是release版本与debug版本也是不能同时存在的,要安装其中一个必须把另一个卸载掉,不然装不上。

企业级应用开发的时候一般都会有开发环境,测试环境以及正式环境,为了能够使得三个应用都可以安装在同一台设备上,每个应用的appid都应该不一样,然后开发人员安装的是开发版的debug版本,需求以及测试人员使用的是开发版的release版本,然后客户使用的是测试版的release版本,然后最终用户使用的是正式版的release版本。

1、创建android应用签名文件(以下都是以MAC系统为例):

keytool -genkey -v -keystore XXX-release.keystore -alias YYY -keyalg RSA -validity 4000

(执行命令之后会提示你输入密码,设置一些公司名称之类的,密码要记住,其他随意)

XXX-release.keystore :签名文件的名称(左边一个空格)

YYY :签名文件的别名(左右一个空格)

4000:有效天数

(命令执行完之后,应该会在当前目录下创建一个名为XXX-release.keystore)

2、创建release-singing.properties文件,内容:

key.store=XXX-release.keystore

key.alias=YYY

key.store.password=你设置的密码

key.alias.password=你设置的密码

3、(mac系统用户关注)创建build-extras.gradle文件,内容:

android {

             lintOptions{ disable 'MissingTranslation', 'ExtraTranslation' }

}

4、创建完之后,将这三个文件拷贝到/项目根目录/platform/android目录下,执行

cordova build android –release

之后应该可以在

  /项目根目录/platform/android/build/outputs/apk/

    目录下找到android-release.apk文件,打包成功;

 

说一下其他无关的东西,通过命令

  

keytool -list -v -keystore ./xxx-release.keystore -storepass "你设置的密码"

可以查看release发布版本的信息,其中包括md5、SHA1等等字符串;

 

通过命令:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

可以查看debug开发版的信息。在使用一些cordova插件比如百度地图、高德地图的时候,需要用到这种SHA1,注意的~/.android目录是mac下的,window用户请自行跑到C:\Users\[USERNAME]\.android这个目录下执行,执行这个命令好像要安装android studio,具体情况不太清楚,因为我的mac是有android studio,但是window没有,也没有在window上试过。

cordova打包之android应用签名的更多相关文章

  1. cordova 打包出错 Android SDK not found Android target: not installed

    原文:cordova 打包出错 Android SDK not found Android target: not installed 今天用cordova打包的时候报Android SDK not ...

  2. Ionic4 & Cordova 打包Android,含签名

    IOS打包必须在Mac环境,以下讲述安卓打包并签名的过程,若是不签名,那么APP不能在手机上安装. 1.添加对应的android框架 ionic cordova prepare android 1)修 ...

  3. Cordova 打包 Android release app 过程详解

    Cordova 打包 Android release app 过程详解 时间 -- :: SegmentFault 原文 https://segmentfault.com/a/119000000517 ...

  4. Ionic2 cordova angular2 打包到Android apk环境搭建

    一.前言 前段时间,公司有个APP项目需要支持不同平台,于是采用了Ionic2 + cordova + angular2,在搭建环境过程中遇到了不少问题,刚好最近有时间整理出来. 二.开发环境搭建 参 ...

  5. cordova+vue 项目打包成Android(apk)应用

    现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题.现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只 ...

  6. ionic3 在windows环境下打包android 正式签名版APK

    生成签名文件keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore demo为 ...

  7. Cordova打包vue项目生成Apk (解决cordova build android抛出的zip问题)

    最近对vue前端框架情有独钟.但研究了一下怎么把vue项目打包成android apk来玩玩. 首先讲一下创建vue2.x项目.其实在之前的文章中都有写过,有兴趣的同学可以去看看.http://www ...

  8. cordova打包vue2(webpack)android、ios app

    使用cordova打包vue2(webpack)app for android ios1.vue项目通过vue-cli脚手架建立项目,使用webpack进行打包,下边是一整套命令. #npm 版本最好 ...

  9. Cordova 打包签名

    1.第一步 在项目根目录下运行命令cordova build --release android,会在testApp\platforms\android\build\outputs\apk目录下生成一 ...

随机推荐

  1. UVa第五章STL应用 习题((解题报告))具体!

    例题5--9 数据库 Database UVa 1592 #include<iostream> #include<stdio.h> #include<string.h&g ...

  2. 一起talk C栗子吧(第八回:C语言实例--素数)

    各位看官们,大家好,从今天開始.我们讲大型章回体科技小说 :C栗子,也就是C语言实例. 闲话休提, 言归正转. 让我们一起talk C栗子吧! 看官们.上一回中咱们说的是进制转换的样例,这一回咱们说的 ...

  3. 读<阿里亿级日活网关通道架构演进>有感

    读<阿里亿级日活网关通道架构演进>时对优化方法有些概念不理解,特意搜索了一下,拓展自己的思路. 其中的优化: 优化方法中1,2比较常见,3,4我知道的比较少,很感兴趣.就继续追踪下去: 于 ...

  4. Oracle 12CR2 中alert.log出现大量的 WARNING: too many parse errors 告警

    Oracle 12CR2 中alert.log出现大量的 WARNING: too many parse errors 告警   日志如下: 2018-06-24T17:16:21.024586+08 ...

  5. SQLite header and source version mismatch解决方案

    SQLite header and source version mismatch 最近需要用到sqlite,去官网下了一个编译安装后打开sqlite3出现SQLite header and sour ...

  6. android请求

    //请求 HttpURLConnection conn = (HttpURLConnection)new URL(path).openConnection(); conn.setConnecTimeo ...

  7. php课程 8-29 gd库能够画哪些东西

    php课程 8-29 gd库能够画哪些东西 一.总结 一句话总结:文字,点,线,圆,弧线,矩形,各种形状都是可以的,和html5中的canva能画的东西很像,使用也很像,参数怎么记呢,参数完全不用记, ...

  8. PostgreSQL 序列

    PostgreSQL 中的序列是一个数据库对象,本质上是一个自增器.因此,序列在其他同类型数据库软件中以 autoincrment 值的形式存在.在一张表需要非随机,唯一标实符的场景下,Sequenc ...

  9. AForge,Emgu.CV抓拍图像大小

    原文:AForge,Emgu.CV抓拍图像大小 2017年,忙忙碌碌地过去了,象往年一样,依然没有时间上CSDN,博客园. 这一年是打工以来最辛苦的一年. 这一年用了不少自己没有接触过的东西.如人脸识 ...

  10. Spring中@Async用法详解及简单实例

    Spring中@Async用法 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类 ...