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 ...
随机推荐
- Day 05 可变不可变、数据类型内置方法
1.可变类型:值改变,但是id不变,证明就是改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着改变,证明是产生新的值,是不可变类型 数字类型 一.整型int 1.用途:记录年龄.等级.数量 ...
- 让所有浏览器支持HTML5 video视频标签
HTML5究竟需要多少种视频编码格式 当前,video 元素支持三种视频格式:Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件MPEG4 = 带有 H.264 视频编 ...
- 【java】设计模式-单例设计模式
单例设计模式:解决一个类在内存中是存在一个对象的问题.当需要该事物的对象在内存中唯一时,将以下三步添加即可. 思想:想要保证对象唯一1.为了避免其他程序过多的建立该类对象,先禁止其他程序建立该类对象2 ...
- [蓝桥杯]ALGO-20.算法训练_求先序排列
问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=). 输入格式 两行,每行一个字符串,分别表示中序和后序排列 输出格式 一个字符串,表示所求 ...
- CSS之display
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Scrapy实战篇(一)之爬取链家网成交房源数据(上)
今天,我们就以链家网南京地区为例,来学习爬取链家网的成交房源数据. 这里推荐使用火狐浏览器,并且安装firebug和firepath两款插件,你会发现,这两款插件会给我们后续的数据提取带来很大的方便. ...
- webservice的简单使用,cxf框架的的使用
Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布 ...
- Spring 了解Bean的一生(生命周期)
转载 https://blog.csdn.net/w_linux/article/details/80086950 该篇博客就来了解IoC容器下Bean的一生吧,也可以理解为bean的生命周期. ## ...
- openstack网络
OpenStack中neutron的2种ip.3种管理模式 Nova有固定IP和浮动IP的概念.固定IP被分发到创建的实例不再改变,浮动IP是一些可以和实例动态绑定和释放的IP地址. Nova支持3种 ...
- kettle实现多表同步
本样例实现源库的所有表到目标库的同步sqlserver=>mysql(目标表存在表结构则同步),总调度如下: 由于复制记录到结果保存了多个表名,存在多个值,在高级选择对每个输入行执行一次进行循环 ...