最近项目需要使用ionic开发一款APP,原本是想使用ionic2来开发的,但前期准备不足,团队的学习成本较高,所以不得不退而求其次使用ionic1来开发1.0版本,之后的版本再打算使用2去开发。(本人项目都是MAC环境下运行的,所以windows环境仅做参考)
首先,在安装node的前提下,安装ionic和cordova,输入命令行(mac下可能需要加入sudo):
npm install -g ionic
npm install -g cordova
卸载命令 npm uninstall -g ionic 由于ionic现在已经更新了2版本 所以想要使用ionic1和cordova 需要降低版本号,例如:
npm install -g ionic@1.6.5
为了编译Android平台,需要安装JDK,下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
为了能够运行Android模拟器,还需要安装SDK,下载地址:
http://mac.softpedia.com/get/Developer-Tools/Google-Android-SDK.shtml
至于怎么安装SDK,网上有大批的教程,这里先给出一个:
http://www.cnblogs.com/yjmyzz/p/4219829.html
在mac上编译IOS平台和运行模拟器,以及打包上架,都需要用到Xcode,所以需要去AppStore上下载安装Xcode。
创建项目
运行命令行:
ionic start myApp tabs
进入项目:cd myAPP
创建Android和IOS应用平台:
ionic platform add android / ionic platform add ios
删除对应平台:
ionic platform remove android / ionic platform remove ios
打包:
ionic build android / ionic build ios
注意:这里打的都是debug包,是测试开发时使用的并不能上架,这个包是有签名的,所以能被装到手机上,但并不能上架,如果需要上架我们需要打release包(这里先讲android,ios上架打包比较繁琐,之后会讲到):
1、打release的apk:
ionic build --release android
2、生成签名文件(.keystore):
keytool -genkey -v -keystore demo.keystore -alias demo.keystore -keyalg RSA -validity 20000
keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来;
-keystore demo.keystore 证书的文件名;
-alias demo.keystore 表示证书的别名;
-keyalg RSA 生成密钥文件所采用的算法;
-validity 20000 该数字证书的有效期;
输入之后会需要回答关于公司和地区的一些问题,回答完成后截屏记录就行。
3、签名apk
jarsigner -verbose -keystore /yourpath/demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来;
-keystore /yourpath/demo.keystore 之前生成的证书
-signedjar demo_signed.apk 签名后的apk
demo.apk 需要签名的apk
demo.keystore 证书的别名
4、查看签名
mac下,将apk的后缀改成zip文件并打开,然后查看META-INF下的.RSA文件,执行命令:
keytool -printcert -file META-INF/CERT.RSA
IOS打包ipa上架:
打开platforms>ios>xxxx.xcodeproj
关于ios的打包和上架网上有很多详细的教程,这里给出一个较新的链接参考:
http://www.jianshu.com/p/259129a240cf
运行:
ionic emulate android / ionic emulate ios
注意:如果出现"ios-sim was not found"等类似的错误,可以执行以下的命令,如:
ionic install -g ios-sim