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里面变得很小了,另外 ...
随机推荐
- Hive-生成一个大文件(小文件合并)
set hive.execution.engine=mr; --在 map-reduce 作业结束时合并小文件.如启用,将创建 map-only 作业以合并目标表/分区中的文件. set hive.m ...
- DockerFile与镜像(Image)仓库
深入Docker 之 Image: 当我们使用docker pull mysql 这个命令获取镜像的时候,到底他是怎么做的?我们登录官方提供的仓库看一下 https://github.com/dock ...
- C++ 14 auto
C++14标准最近刚被通过,像以前一样,没有给这个语言带来太大变化,C++14标准是想通过改进C++11 来让程序员更加轻松的编程,C++11引入auto关键字(严格来说auto从C++ 03 开始就 ...
- java基础笔记(8)
java的多线程 进程:程序的执行过程,持有内存资源 线程:是系统的最小执行单元,共享进程的资源 线程之间可以互斥.也可以同步: Thraed类: 通过一个案例来了解线程Thread类和Runnabl ...
- 中标麒麟(linux)mysql配置记录
刚装好mysql时,使用正常,后来再次使用时,连接不成功.(虚拟机中) 配置网络有问题, 1.我将ifcfg-*的两个文件备份后删除了. 2.点击右下角的小电脑,重新新建一个网络连接.把网络接入主机的 ...
- 使用Log4Net将系统日志信息记录到记事本和数据库中
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/hxpjava1/article/details/32714855 一.使用Log4Net将日志记录到 ...
- Ruby下安装cocoapods
常规安装:(文末:特殊安装) 注: 1.Mac OS X EI Capitan 10.11中需要更改安装路劲: sudo gem install -n /usr/local/bin cocoapods ...
- Linux学习--第五天--vim使用、rpm命令
vim使用 三种模式: 编辑模式 插入模式 命令模式 |命令|作用| |--|--| |a|在光标字符后插入| |A|在光标行尾插入| |i|在光标字符前插入| |I|在光标行首插入| |o|在光标下 ...
- ERROR: Unable to clean up existing run directory
Project Navigator - Launching PlanAhead gives: ERROR: Unable to clean up existing run directory De ...
- Python安装模块包
可以利用pycharm安装模块包 使用这种方法安装时,可能会报下面类型的异常 AttributeError: module 'pip' has no attribute 'main' 出现这这样的异常 ...