打包APP以前要作的工做:node
ionic resources -icon : 【建立一个app图标】: 以png/psd/AI格式保存在项目目录下的:resource/android/icon.png ;android
使用命令 ionic resources -icon 就能够生产不一样尺寸的图标;git
ionic resources --splash : 【建立启动页面图片】:启动画面的源文件至少须要2208px×2208px; 保存在项目目录下:保存格式为resource/android/splash.png github
使用命令 ionic resources --splash 就能够生成不一样尺寸的启动动画图片了;算法
启动页面的显示时间设置:安卓版的app的设置方法是,在config.xml里加入以下几句话:npm
<preference name="SplashScreenDelay" value="5000"/>windows
<preference name="FadeSplashScreenDuration" value="500"/>浏览器
<preference name="BackupWebStorage" value="none"/>缓存
<preference name="SplashScreen" value="screen"/>服务器
<!-- 不在启动的时候显示进度圆圈 -->
<preference name="ShowSplashScreenSpinner" value="false"/>
其中,包含SplashScreenDelay的那一项,就是开机画面的显示时间,单位是毫秒
项目部署:
ionic支持iOS和android两个平台,默认的ionic项目并无添加这两个平台,须要咱们手动添加:
ionic platform add android ,执行完毕后,在开发目录下的 platform目录 会多一个android 的目录;
【ionic platform add android (添加android平台)
ionic platform remove android (移除android平台)】
【ionic cli 3.x 中已经改为了ionic cordova platform add android】
调试环境 :
ionic serve : 在浏览器中预览应用时,在编写代码的时候,只须要保存,页面就会自动刷新,不准手动刷新;
只须要执行ionic serve就能够实现lievereload;
部署到【移动端】后也能够开启livereload的,只须要修改下run命令参数:【 ionic run android --livereload -c -s 】;
这是android的调试模式,不管在虚拟机上仍是在手机上均可以实现livereload,不用每次开发完成编译再部署!-c是开启客户端日志输出,-s是开启服务器端日志输出;
ionic emulate 在模拟器中运行Ionic项目;
android打包:
执行命令 : ionic build android -release ; 或者:ionic build android -- --ant ;或者: ionic build android --prod --release ;
cordova命令也能够打包:cordova build --release android ;
签名:
找到www/platform目录下生成的apk包,此时的apk还不能被安装到手机上,还须要一步签名操做:
建立key,须要用到keytool.exe (位于jdk1.6.0_24\jre\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24\bin目录下),
命令行输入:keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
【说明: -genkey 产生密钥 -alias demo.keystore 别名 demo.keystore -keyalg RSA 使用RSA算法对签名加密 -validity 40000 有效期限4000天 -keystore demo.keystore ;】
命令行输入:jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
(用以上的方式签名出来的包会报错,安装的时候出现解析安装包出错)
解决方法:打包时用( ionic build android --prod --release ,使用如下方法签名)
jarsigner -verbose -keystore qbbusdevelib.keystore -signedjar qdbus.apk -digestalg SHA1 -sigalg MD5withRSA android-release-unsigned.apk qbbusdevelib.keystore
【说明: -verbose 输出签名的详细信息 -keystore demo.keystore 密钥库位置 -signedjar demor_signed.apk demo.apk demo.keystore 正式签名,
三个参数中依次为:签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore ;】
【注意事项】:android工程的bin目录下的demo.apk默认是已经使用debug用户签名的,因此不能使用上述步骤对此文件再次签名。
正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk采用上述步骤签名。
Android自动签名: 步骤
在platforms\android目录新建名为release-signing.properties的文件,文件内容以下:
storeFile=path/to/keystore
keyAlias=your key aliasstore
Password=your store passwordkey
Password=your key password
使用ionic build --release android编译便可,在\platforms\android\build\outputs\apk出现android-release.apk文件便是已签名的安装包。
在windows下storeFile文件路径应使用Unix下的目录分隔符/。
在项目目录下ionic的cmd指令:
ionic plugin list —— 当前项目的插件列表 ;
ionic plugin remove 插件名 ——先根据上面的list列出插件,而后根据插件名卸载;
ionic plugin add 插件地址 ——这个插件地址能够是github的项目地址,也能够是一个文件夹路径;
ionic –help ——查看帮助文件
下载ionic1项目模板【ionic start newapp --type ionic1】
【ionic start newapp blank --v1】
遇到的问题:
1. 某些时候用npm install -g cordova 安装某些包失败的时候: 能够下载个cnpm : npm install -g cnpm --registry=https://registry.npm.taobao.org ;
执行成功后,输入 cnpm install -g cordova 安装;
2. ionic3.0.0下,ionic start建立项目的时候:
✖ Downloading - failed!
Error: Timeout of 25000ms reached for https://github.com/driftyco/ionic-app-base/archive/master.tar.gz
解决方法:
建立项目的时候,先行屏蔽掉依赖的安装: ionic start myApp --skip-npm
等到项目建立完毕后,进入项目自动建立的myAPP文件夹,再使用npm国内镜像去安装依赖:cnpm install --save
安装npm国内淘宝镜像命令行:npm install -g cnpm --registry=https://registry.npm.taobao.org
(网上查的,可是仍是没有解决)
3. 执行:ionic platform add android 时候会提示:
The platform command has been renamed. To find out more, run: ionic cordova platform --help
平台命令已经被重命名----
(如下是找的参考资料,出现这种状况的大体缘由:)
Ionic和Ionic CLI是不同的东西。Ionic CLI是基于nodeJS的工具脚手架,开发Ionic应用程序过程当中使用的主要工具;
ionic cli发布了3.0的版本, 这就是你出现问题缘由之所在, 目前市面上的一切资料中的命令所有没法正常使用了,建议你降级到ionic cli 2.x的版本;
当用ionic cli命令行建立项目的时候 这个命令行工具(ionic cli)会到github上去下载项目的模板(那个模板在不断更新), 目前那个模板已经到了3.2.x版本,
这个模板的版本号就是Ionic Framework Version. 要使用这个模板须要在建立项目的时候加--v2的参数 (否则ionic cli会到github上下载ionic1.x的模板)
ionic cli 2默认会建立ionic 1.x的项目, 若是要建立ionic2+(包括3)的项目, 须要多加了个--v2的参数. @2会自动下载最新的2.x版本, 不用给出具体的版本号
确认你当前系统上ionic cli的版本ionic -v, 若是不是 ionic 2.x版本, 使用以下方式降级:
npm uninstall -g ionic
npm cache clean (清除缓存)
npm install -g ionic@2
ionic start your-project blank --v2 --id com.xxx.myproject
(我弄了好屡次,不知道为何降级不了啊 ,ionic -v 一直是 v3.0.0) 求大神指点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
这个大概的缘由差很少找到了:
在安装nodejs时,咱们没有配置 npm全局模块路径:默认的路径应该在 C:\Users\up\AppData\Roaming\npm这个文件夹中;
而在咱们下次卸载从新安装nodejs时,又配置了npm全局模块路径--这时咱们仍是把C:\Users\up\AppData\Roaming\npm这个文件夹删除掉;
这时就解决了!!!!!!!!再次下载ionic时 如npm install -g ionic@1.6.5 版本正常了!!!!
这时我运行:ionic build android :结果又悲剧了:
(node:10596) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.
看了下网上的资料:说时nodejs的版本问题:此时个人nodejs的版本是 V6.10.1;说是要用版本了5.x.x的稳定版的--------已解决!!
在报错,就试试 ionic build android -- --ant(我是用的这个)
4.执行 :ionic build android -release 没有反应?
以前有把node卸载掉重装最新的,多是cordova没法本身指向后装的node致使的。
若是nodejs在装完cordova后又卸载重装过的话,那cordova跟ionic最好也卸载重装过。
最后发现是由于:cordova@5.0.0版本的,升级到cordova@6.2.0就 OK了;