ionic打包app——以安卓版本为例 辛苦之路~~~
最近同事做了个angular项目,因为要离职,所以项目我就来接手了,用ionic打包app,然后无数配置的坑就等着我了~~~
环境安装
1.nodejs
因为自己刚接触做angular项目,就更新到了最新的版本

注意:之前一个网友说自己安装版本5.7,尽量不要安装太新的版本,因为可能会出现兼容性问题,一开始本人安装的是6.+的版本,后来出现问题的,马上换回5.7的,问题就不会出现了。
2.JDK
下载安装jdk,我这里装的版本是1.8,(切记要和自己电脑的位数要一致 32/64,不然打包过程可能会出问题)
jdk官网下载地址:https://www.oracle.com/technetwork/java/javase/overview/index.html,下载好后默认安装完成。
bug解决办法:jdk之前安装了最新版本13.0.1 ,结果打包的时候一直出这个错,最后解决办法:把13.0.1卸载掉,安装低版本,1.8.0,有效解决问题


配置环境变量:(我的电脑——属性——高级系统设置——环境变量——系统变量)
新建系统环境变量 JAVA_HOME,路径指向jdk的安装目录,如:C:\tools\Java\jdk1.8.0_151;
新建系统环境变量CLASS_path,路径: %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
在系统变量path里面添加:%JAVA_HOME%\bin;
尝试window+R向命令行输入java -version

3.SDK
下载安装sdk即可,下载官网https://www.androiddevtools.cn/ 我安装的Windows IDE 安装版 (64-bit)版本
默认安装完成
4.确保已经安装有ionic 和cordova
npm install ionic cordova -g
5.到这里,环境安装的差不多了,可以进行打包了
执行添加安装平台的命令
cordova platform add android
打包项目
ionic cordova build android --prod --release
6.运行的时候报错,没有安装gradle。从官网下载 https://gradle.org/install/#manually

点击complete下载,解压放到tools文件夹下,然后在path进行配置(我的电脑——属性——高级系统设置——环境变量——系统变量——path配置gradle路径)


7.配置完成后,关闭cmd窗口,重新打开cmd命令,输入ionic cordova build android --prod --release 进行打包,会出现下面这个地址,就是打包好的安卓apk地址,然后进行手机安装

8.安装过程中发现安装失败,因为没有证书,原因没有签名所以不会给通过

解决办法:
1.C:\Users\huochaihy\AppData\Local\Android\Sdk\tools\bin>sdkmanager --licenses 后续全选y(yes),安卓sdk 授权

2.新建一个签名文件夹,在文件夹下打开cmd窗口命令,把刚才找到的apk包复制过来,输入以下命令生成密匙
# 生成密钥 (参考地址:https://blog.csdn.net/bao19901210/article/details/79629112)
# keytool -genkey -v -keystore myApp.keystore -alias myApp -keyalg RSA -keysize 2048 -validity 20000
# keytool -genkey -v -keystore 密钥名字 -alias 别名 -keyalg RSA -keysize 2048 -validity 20000

3.生成签名 (参考地址:jarsgner 签名命令 https://blog.csdn.net/dengweijunkedafu/article/details/69949003)
-- 签名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp.keystore app-release-unsigned.apk myApp

注意:把签名单独拎出来的原因是:你只需要执行签名命令就行,就不需要在执行生成签名文件命令了,给他拎出来是因为如果我生成的签名文件在你刚才那个目录里你重新打包就会把签名文件删除掉
8.最后我们如果更新了项目,重新打包的时候,先运行
ionic cordova build android --prod --release
成功后找到安卓apk,把没有授权的apk文件放到自定义“签名”文件夹下,然后再运行签名命令就可以了
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp.keystore app-release-unsigned.apk myApp
最后“签名”文件夹中的app-release-unsigned.apk进行安装就可以了
==================================================================================================================
bug问题总集:
node-sass 安装卡在node scripts/install.js
解决办法:命令行输入:npm install node-sass
ionic 打包报错An error occurred while running cordova prepare (exit code 1):
解决办法:删除并重新添加平台以使用以下命令解决问题:
cordova platform rm ios
cordova platform add ios
如果执行 ionic cordova build android报错,执行下面的试下:
cordova platform rm android
cordova platform add android
ionic打包app——以安卓版本为例 辛苦之路~~~的更多相关文章
- windows下 ionic 打包app --以安卓版本为例
环境安装 1.nodejs 安装版本5.7,尽量不要安装太新的版本,因为可能会出现兼容性问题,一开始本人安装的是6.+的版本,后来出现问题的,马上换回5.7的,问题就不会出现了. 安装教程网上教程很多 ...
- ionic打包步骤(安卓)
打包APP之前要做的工作: ionic resources -icon : [创建一个app图标]: 以png/psd/AI格式保存在项目目录下的:resource/android/icon.png ...
- hubilder 打包app ios高版本不支持问题
<script type="text/javascript"> document.addEventListener('plusready', function(){ v ...
- ionic 打包安卓包
一.配置环境: 先按照之前的文章,配置好环境需要: 二.安装 1. 这里前提是 需要安装 node (地址: http://nodejs.cn/download/) 命令: node -v // ...
- ionic 打包安卓包 (debug调试版和 release发布版)
一.配置环境: 先按照之前的文章,配置好环境需要: 安装jdk,配置环境变量:( http://www.cnblogs.com/loveyaxin/p/7520618.html) 安装android- ...
- 一个简单移动页面ionic打包成app
先贴JS代码好了,缓动和调整透明度的功能,最后用ionic打包成应用就可以 window.onload=function(){ search(); move(); calc();}function s ...
- vue 用huilder打包APP时,安卓按返回键就退出App改为按两次再退出App
做vue项目时,用Hbuilder打包APP,在安卓下按返回键就是退出了APP,百度了下.都是使用到MUI来解决的,自己也记录下. 在main.js里面引入mui.js并使用. import mui ...
- 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付
前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...
- vue用hbuilderX打包app嵌入h5方式云打包和遇到的问题
vue用hbuilderX打包app嵌入h5方式云打包和遇到的问题 vue用hbuilderX打包app就可以了,不过有兼容性问题,转换rem的用不了,嵌入到app的webview里面变得很小了,另外 ...
随机推荐
- Redis的消息订阅及发布及事务机制
Redis的消息订阅及发布及事务机制 订阅发布 SUBSCRIBE PUBLISH 订阅消息队列及发布消息. # 首先要打开redis-cli shell窗口 一个用于消息发布 一个用于消息订阅 # ...
- [转帖]青岛uber偷拍设备
爱彼迎民宿路由器暗藏摄像头:官方回应已移除房源 https://www.cnbeta.com/articles/tech/844233.htm 罚款 就是搞笑啊.. 不过现在偷拍设备真多... 5月5 ...
- 小白用Mac
老话说的好,“最近老板发我一个Mac,但是不会用,嘎嘎嘎嘎” 1.安装软件 安装 Homebrew Homebrew:使用 Homebrew 安装 Apple 没有预装但 你需要的东西,尤其是非界面管 ...
- 掌握这些 Redis 技巧,百亿数据量不在话下!
一.Redis封装架构讲解 实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面. 这里可以打开看一下,Ne ...
- mock.js的运用
一:概念 Mock.js是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试.提供了以下模拟功能: 根据数据模板生成模拟数据 模拟 Ajax 请求,生成并返回模拟数据 基于 H ...
- [LeetCode] 107. 二叉树的层次遍历 II
题目链接 : https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/ 题目描述: 给定一个二叉树,返回其节点值自底 ...
- 微信小程序获得微信头像和昵称
微信小程序之登录态的探索 { wx.getSetting({ success: res => { if (res.authSetting && res.authSetting[' ...
- Css网页样式设计
第一章 概述 一.CSS简介1.CSS是Cascading Style Sheets(层叠样式表单)的简称.通常所称的CSS是指CSS1,即层叠样式表单1级. 2.编辑CSS文档:与编辑HTML的方法 ...
- k3 cloud在站点中新增用户
1.进去金蝶云企业平台: 网址:https://cloud.kingdee.com/pt/ 2.进入控制台页面,我的产品下面选择添加用户 去cloud平台新增并同步用户注册信息 3.去管理中心更新用户 ...
- easyUI相关文件的引入
引入以下内容: <head> <meta http-equiv="Content-Type" content="text/html; charset=u ...