原文: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 11090 Going in Cycle!!(Bellman-Ford推断负圈)

    题意:给定一个n个点m条边的加权有向图,求平均权值最小的回路. 思路:使用二分法求解.对于每个枚举值mid,推断每条边权值减去mid后有无负圈就可以. #include<cstdio> # ...

  2. jtag引脚

    如果不能下载,可能原因也许是电量不足了... 在电力不足的时候,仿真也不能进行... ///////////////////////////////////////////////////////// ...

  3. ZOJ 1914 Arctic Network (POJ 2349 UVA 10369) MST

    ZOJhttp://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1914 POJhttp://poj.org/problem?id=23 ...

  4. POJ 3628 Bookshelf 2 0-1背包

    传送门:http://poj.org/problem?id=3628 题目看了老半天,牛来叠罗汉- -|||和书架什么关系啊.. 大意是:一群牛来叠罗汉,求超过书架的最小高度. 0-1背包的问题,对于 ...

  5. [AngularJS NG-redux] Integrate Redux Devtools

    In this lesson, we are going to learn how to integrate Redux Devtools into our Angular application. ...

  6. ASP.NET 的 ViewState Cookie Session 等的比較

    类型 值保存在哪 值的有效范围 备注 View State client 不能跨页面传递.仅仅能在当前页面保存数据. 在HTML中能够看到ViewState值,只是是加密. 不是明文. ViewSta ...

  7. 【转】request和response的页面跳转

    跳转:request.getRequestDispatcher("p3.jsp").forward(request,response);这种方法称为转发,地址栏上的URL不会改变: ...

  8. 【u006】海战

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 在峰会期间,武装部队得处于高度戒备.警察将监视每一条大街,军队将保卫建筑物,领空将布满了F-2003飞 ...

  9. [Angular] Content Projection with ng-content

    For example there is tow form compoennts on the page, and what we want to do is reusing the form com ...

  10. epoll 和select

    epoll 水平触发和边缘触发的区别 EPOLLLT——水平触发EPOLLET——边缘触发 epoll有EPOLLLT和EPOLLET两种触发模式,LT是默认的模式,ET是“高速”模式.LT模式下,只 ...