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应用签名的更多相关文章
- cordova 打包出错 Android SDK not found Android target: not installed
原文:cordova 打包出错 Android SDK not found Android target: not installed 今天用cordova打包的时候报Android SDK not ...
- Ionic4 & Cordova 打包Android,含签名
IOS打包必须在Mac环境,以下讲述安卓打包并签名的过程,若是不签名,那么APP不能在手机上安装. 1.添加对应的android框架 ionic cordova prepare android 1)修 ...
- Cordova 打包 Android release app 过程详解
Cordova 打包 Android release app 过程详解 时间 -- :: SegmentFault 原文 https://segmentfault.com/a/119000000517 ...
- Ionic2 cordova angular2 打包到Android apk环境搭建
一.前言 前段时间,公司有个APP项目需要支持不同平台,于是采用了Ionic2 + cordova + angular2,在搭建环境过程中遇到了不少问题,刚好最近有时间整理出来. 二.开发环境搭建 参 ...
- cordova+vue 项目打包成Android(apk)应用
现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题.现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只 ...
- ionic3 在windows环境下打包android 正式签名版APK
生成签名文件keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore demo为 ...
- Cordova打包vue项目生成Apk (解决cordova build android抛出的zip问题)
最近对vue前端框架情有独钟.但研究了一下怎么把vue项目打包成android apk来玩玩. 首先讲一下创建vue2.x项目.其实在之前的文章中都有写过,有兴趣的同学可以去看看.http://www ...
- cordova打包vue2(webpack)android、ios app
使用cordova打包vue2(webpack)app for android ios1.vue项目通过vue-cli脚手架建立项目,使用webpack进行打包,下边是一整套命令. #npm 版本最好 ...
- Cordova 打包签名
1.第一步 在项目根目录下运行命令cordova build --release android,会在testApp\platforms\android\build\outputs\apk目录下生成一 ...
随机推荐
- iOS_01_什么是ios
* ios是一款由苹果公司开发的操作系统(os是Operating Systen的简称),就像平时在电脑上用的Window XP.Window 7.都是操作系统. * 那什么是操作系统呢?操作系统其实 ...
- C语言深度剖析-----函数与指针的分析
指针的本质 指针需要保证指向任意数据类型,所以指针变量都占用32位bit即4字节. PS:不同机器上,指针占用内存不一 ...
- storm编程指南
目录 storm编程指南 (一)创建spout (二)创建split-bolt (三)创建wordcount-bolt (四)创建report-bolt (五)创建topo storm编程指南 @(博 ...
- css3-12 transform:scale(1.2,1.2)实现移入元素变大特效
css3-12 transform:scale(1.2,1.2)实现移入元素变大特效 一.总结 一句话总结:transform:scale(1.2,1.2)鼠标移入的时候变大一点点,超出边框的部分隐藏 ...
- anaconda中实现双spyder版本
1)先在conda中创建一个名为python2的环境,并下载对应版本python2.7 conda create --name python27 python=2.7 2)激活python2环境 ac ...
- 29、应用调试之使用GDB来调试应用程序
说明:gdb可以实现源代码单步调试 原理: 1.gdb在PC机上运行,gdbserver在arm开发板上运行,gdbserver在开发板上相当于父进程,应用相当于子进程,PC上gdb发命令给gdbse ...
- 解决java中ZipFile解压缩时候的中文路径和乱码问题
JAVA中对jar文件或zip文件解压的时候,能够使用JDK内置的API:JarFile和ZipFile,在windows下解压这2种格式文件的时候,常常报下面错误: Exception in thr ...
- ReentrantLock Condition await signal 专题
Condition的执行方式,是当在线程T1中调用await方法后,线程T1将释放锁,并且将自己阻塞,等待唤醒, 线程T2获取到锁后,开始做事,完毕后,调用Condition的signal方法,唤醒线 ...
- Android菜鸟的成长笔记(27)——SurfaceView的使用
前面有关自定义View中进行了绘图,但View的绘图机制存在如下缺陷: 1.View缺乏双缓冲机制. 2.当程序需要更新View上的图像时,程序必须重绘View上显示的整张图片. 3.新线程无法直接更 ...
- 【u006】海战
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 在峰会期间,武装部队得处于高度戒备.警察将监视每一条大街,军队将保卫建筑物,领空将布满了F-2003飞 ...