ionic3搭建笔记及编译成apk
一.安装node.js
二.安装Ionic2
npm install -g ionic (安装最新版本)
ionic -v //查看版本号(是否安装成功)
npm uninstall -g ionic(卸载)
npm install -g ionic@3.9.2(安装自定版本)
三.安装Cordova
npm install -g cordova
cordova -v //查看版本号
四.安装JDK
配置环境变量
javac -version //查看版本
五.安装Android SDK
配置环境变量, 名称:ANDROID_HOME,值(根据你的SDK路径改):D:\Android\sdk
六.创建项目
1.进入要创建项目的文件夹
2.输入命令 ionic start ionic-hello tutorial
项目名称(项目文件夹) :ionic-hello:
界面风格,tabs:一个简单的3选项卡布局(省略默认),
sidemenu:一个带有侧菜单的布局(官网案例就是这个),
blank:一个带有单一空页面的裸启动器,
tutorial:一个引导启动项目,
3.创建过程中弹出问题
(1)What starter would you like to use:使用什么布局(就是上面那些)
(2)Would you like to integrate your new app with Cordova to target native iOS and Android?
您想将您的新应用程序与cordova集成到本地ios和android吗?YES
(3)Install the free Ionic Pro SDK and connect your app?
是不是安装Pro版帮助你开发? (NO) ^_^这就看你了 输入yes的话会让你登录什么的
出现Running command - done! 表示创建完成,也有可能网络或其它原因创建失败,这时重新创建一次。
七.运行项目(在浏览器中)
cd ionic-hello
ionic serve
八.编译成apk
ionic cordova platform add android@^5.0.0
ionic cordova build android (打包,debug版本)
ionic cordova build android --prod --release (打包,发布版本 )
(
--prod参数是ionic2的打包方式,使用之后.map.js会压缩变小,打包的App变小了,
--release参数是Cordova的打包参数,使用之后App也会变小。
)
ionic cordova run android (安装到手机)
九.签名apk
发布版本(ionic cordova build android --prod --release)需要签名后才能安装到手机(或在androidApp市场上架)
在cmd中运行命令
(1)
E:\myObject\my\javaObject>keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize -validity
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: lst
您的组织单位名称是什么?
[Unknown]: zt
您的组织名称是什么?
[Unknown]: ztr
您所在的城市或区域名称是什么?
[Unknown]: hz
您所在的省/市/自治区名称是什么?
[Unknown]: ze
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=lst, OU=zt, O=ztr, L=hz, ST=ze, C=cn是否正确?
[否]: y 正在为以下对象生成 , 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 , 天):
CN=lst, OU=zt, O=ztr, L=hz, ST=ze, C=cn
输入 <alias_name> 的密钥口令
(如果和密钥库口令相同, 按回车):
[正在存储my-release-key.keystore]
keytool是JDK自带的加密工具,我们需要生成一个keystore文件,然后保存好,之后不需要每次都生成新的。
之后会让我们设置一些密码和安全问题,根据命令行提示进行设置即可,最后会在当前命令行执行的目录下自动生成默认名为my-release-key.keystore文件。
如果你设置了alias_name,那么文件就是你设置的名字(也是随后给apk签名时后面要带的别名)。
输入密钥库口令:要记住,在后面给apk文件签名时会要求输入.
validity 10000代表文件的加密时间为10000天。
(2)
E:\myObject\office\netObject\mixing-pile\platforms\android\build\outputs\apk>
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore e:/myobject/my/javaobject/my-release-key.keystore android-release-unsigned.apk alias_name
这个alias_name就是上面生成加密文件时的alias_name
jarsigner是JDK自带的签名工具,我们需要将release版本的apk文件利用keystore文件进行加密,也就是签名,签名之后的apk才能发布到Android应用市场。
(引用原文https://blog.csdn.net/liujiawei00/article/details/74356356)
十.更改app名称、图标、启动图片
1.更改app名称
项目根目录\config.xml中 widget/name 节点
2.更改app图标
各种平台和不同的分辨率屏幕,生成不同尺寸的图标和启动画面是很麻烦的事,
在ionic中 使用ionic cordova resources android 指令就可以实现了。
把你自己的app图标、启动图片先准备好(.png格式),最好和项目新建生成的默认图标图片大小一致。
(1)准备图标、启动图片(png格式,大小与默认生成的一样)
(2)复制到项目根目录\resources文件夹下
(3)执行命令 ionic cordova resources android
十一.注意事项
1.配置好jdk,android sdk环境变量
系统环境变量
ANDROID_HOME,D:\开发工具\android\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk
JAVA_HOME,D:\Program Files\Java\jdk1.8.0_121
CLASSPATH,.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
Path,C:\ProgramData\Oracle\Java\javapath;D:\Program Files\Java\jdk1.8.0_121\bin;D:\Program Files\nodejs\;C:\Python27;D:\开发工具\android\gradle-4.1\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%ANDROID_HOME%\tools
(如果没有安装gradle,先下载好对应版本gradle包并解压,再在上述系统环境变量中配置路径即可)
2.用户环境变量
Path,%ANDROID_HOME%\platform-tools
3.使用ionic cordova platform add android@^5.0.0 命令时最好指定要编译的android版本,如果不指定,则会自动添加最新android版本,此时如果jdk,androidsdk,gradle中任何一个版本不对应的话,编译就会失败。
4.一定要保持网络畅通,首次编译时需要访问google网站,下载很多资源,如果访问被墙了,编译也会失败。如果事先把编译时需要的资源下载好,需要注意版本问题,否则也会编译失败。
ionic3搭建笔记及编译成apk的更多相关文章
- 实例具体解释:反编译Android APK,改动字节码后再回编译成APK
本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能 ...
- cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法
cocos2d-x 3.0 中.假设你须要使用CocosStudio.Extensions扩展库 等等.都须要自己手动加入. 加入过程例如以下:(比方说如今我要加入libExtensions,libC ...
- Emscripten编译环境搭建--将C和C++编译成JS
Emscripten编译环境搭建--将C和C++编译成JS 需求:linux环境下用js执行c.c++文件,使用emscirpten编译器 目标:搭建好Emscripten环境 环境:Ubuntu16 ...
- VUE+Ionic,项目搭建&打包成APK
安装Vue&创建Vue工程 1.安装Vue CLI: npm install -g vue-cli 2.创建新的Vue项目,创建最后一步会提醒是否使用npm install 自动安装,如果选择 ...
- 21.TFS文件系统搭建笔记
TFS文件系统搭建笔记 参考地址: https://github.com/alibaba/tfs/blob/master/INSTALL.md https://github.com/alibaba/t ...
- 反编译android APK
我们经常会在如下的情况使用反编译 1.看到别人应用中的酷炫功能,想知道是如何实现的 2.别人应用的素材排版好漂亮,想套用模仿 百度一下就已经有一大堆反编译的教程了,我还是坚持学习记录一下. A ...
- (转)redis 学习笔记(1)-编译、启动、停止
redis 学习笔记(1)-编译.启动.停止 一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先 ...
- 反编译Android APK及防止APK程序被反编译
怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式 ...
- Android 开发笔记“程序安装包APK的制作”
资源来源:http://blog.csdn.net/qualcent/article/details/6959547 完成Android项目后,需要将程序打包成APK文件(Android Packag ...
随机推荐
- Linux之find
命令功能: find命令是用来在给定的目录下查找符合给定条件的文件.它需要从磁盘中查找,效率低,whereis和locate是基于缓存中数据库查找,效率很高,但是一些新建的文件可能未加入到数据库中,使 ...
- 利用MYSQL的函数实现用户登录功能,进出都是JSON(第一版)
以HMAC密钥形式发放密钥令牌 功能如下 1:记录用户的登录的IP地址.时间 2:实现密码错误次数超限后锁定,并提示何时解锁 CREATE DEFINER=`root`@`%` FUNCTION `u ...
- impala daemon启动失败
启动错误日志: perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: ...
- Runtime 解读
首先,第一个问题, 1>runtime实现的机制是什么,怎么用,一般用于干嘛? 这个问题我就不跟大家绕弯子了,直接告诉大家, runtime是一套比较底层的纯C语言API, 属于1个C语言库, ...
- scala spark-streaming整合kafka (spark 2.3 kafka 0.10)
Maven组件如下: ) { System.err.println() } StreamingExamples.setStreamingLogLevels() )) ) { System.) } )) ...
- Music Recommendation System with User-based and Item-based Collaborative Filtering Technique(使用基于用户及基于物品的协同过滤技术的音乐推荐系统)【更新】
摘要: 大数据催生了互联网,电子商务,也导致了信息过载.信息过载的问题可以由推荐系统来解决.推荐系统可以提供选择新产品(电影,音乐等)的建议.这篇论文介绍了一个音乐推荐系统,它会根据用户的历史行为和口 ...
- 《从零玩转python+人工智能-3》120,122节课深度优先疑问解答
深度优先(从左往右): 按照这个原则来:至于使用栈,或者队列:根据它们不同的特性:最终务必保证最终结果是原继承结构的“从左往右”:所以,如果是栈,就是右侧先入栈,左侧再入(这样左侧能先出来,遵循从左 ...
- Django之如何预防csrf功能的方式 form提交与ajax提交
1. 什么是csrf认证: 主要是防止别人恶意登录你的账户信息用的: 2. csrf认证在django的实现方式: 分为两种, 一种是from表单提交的方式,另一种是ajax提交实现方式 前端: &l ...
- ios黑科技
1.brew brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包,例如:nodejs, mysql等,可以用来快速搭建各种本地环境 ...
- 部署一个基于python语言的web发布环境
---恢复内容开始--- 1) 一门面向对象的语言 2)拥有丰富的库 3)可移植性 4)免费.开源 5)简单易易学 可做软件开发.人工智能.web开发等等 部署流程: Cnetos7.5+Nginx+ ...