# ionicDemo20161228 **Repository Path**: hahahu/ionicDemo20161228 ## Basic Information - **Project Name**: ionicDemo20161228 - **Description**: 环境变成了ionic 2.0,使用 cordova 编译 ionic 1.X - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2016-12-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: phonegap-cordova-plugins **Tags**: None ## README 创建一个 tabs 布局的项目 1. 创建一个防止所有同类工作的工作目录,例如:ion20151228 2. 进入控制台(命令行)方式,进入该工作目录,例如:cd ion20151228 3. 创建一个ionic项目:ionic start test20160729 tabs 4. 打开 webstorm,open刚才的项目 test20160729 ## 20161219 使用 cordova 编译 ionic 1 项目 1、增加 platforms,预编译、编译 sudo cordova platforms add android sudo cordova prepare android sudo cordova compile android 2、然后运行 android: sudo cordova run --device android 苹果(需要安装 ios-deploy) sudo cordova run --device ios 3、aplash 图片变成了 cordova 雀圣的图片 4、app 图标也变成了 cordova 雀圣的图片 ## 20160304 Web发布 1 查询支持的平台是否包括浏览器 sudo cordova platform list 2 增加 browser 平台 sudo ionic platform add browser 或 sudo cordova platform add browser 3 预编译,没有发现什么变化 sudo ionic prepare browser 4 编译, sudo ionic compile browser 结果生成了一个 platforms/browser/build/package.zip 但是,解压错误!"无此文件或目录",以后再处理 5 查看所有使用的插件 sudo cordova plugin ls ## 20160302 联机测试 1 如果本次有修改,先执行 sudo ionic prepare android 然后运行 android: sudo ionic run --device android 苹果(需要安装 ios-deploy) sudo ionic run --device ios ## 20160302 查看手机Logcat 1 单独使用 Android device monitor,因为Webstorm 没有集成进去 2 位置: 找到 android SDK 安装目录,在tools目录下的 monitor就是! *** 例如:我的位置在这里 /Users/dhbm/Downloads/android-sdk_r24.0.1-macosx/android-sdk-macosx/tools ## 20160116 App应用名字+应用图标+启动画的修改 *** 不要手工修改 platforms 目录下的内容,那些都是自动生成的 *** 除了这个之外: \platforms\android”下面新建一个release-signing.properties 内容如下 ***** key.store=/Users/dhbm/DeskTop/Android/dhbm.keystore key.alias=dhbm.keystore key.alias.password=www.dhbm.cn key.store.password=www.dhbm.cn ***** cordova build android --release 生成的 apk位置: /Users/dhbm/Desktop/pg2015122401/platforms/android/build/outputs/apk/android-release.apk 1、参考 http://jingyan.baidu.com/article/c35dbcb0ec59438916fcbcaf.html ### 修改config.xml(假设创建项目时,没有加上包名等参数) 包名:widget id="com.dhbm.demo123" 版本号:version="0.0.1" 程序名:IonicDemo 程序简介: IonicDemo by wzh 20160116 2、怎么直接设置编译出来的 apk 文件名?(不是上面说的 程序名、app名)待处理 cordova compile -help 没有发现有这个选项,就只好每次都 rename,当然只在 release 的时候才真的需要 3、程序图标:resources 目录下 android 目录 icon 目录 4、启动画面 splash : resources 目录下 android 目录 splash 目录 ## 20160116 android打包测试--debug 1、增加 platforms,预编译、编译 sudo ionic platforms add android sudo ionic prepare android sudo ionic compile android 2、运行结果,列表数据不出来,说明无法访问外网(404) 3、增加白名单 cordova plugin add cordova-plugin-whitelist ionic plugin add cordova-plugin-whitelist 4、在 index.html 首页增加 meta项, 设置安全性 以上 meta 加上之后会报错,难道我copy错了?但是测试发现,不用加这个meta 5、ion-infinite-scroll有bug, 将services中,首次读取数据改成15条,保证超出一屏所能显示的条数 将每次上拉刷新的条数也改成10条 6、修改过 html之后,不用重新增加 platforms,直接预编译、编译 7、列表ok,点击详细ok,幻灯ok! 8、修改 sliders.html 之后,预编译发现,platforms 中对应的 sliders.html 也变化了! 原来预编译干这个的! 9、测试jQuery 页面,那个WX年代就停留在 0%,为什么呢? ## 20151230 tabs + sidemenu 的 ### 这是一个 blank 空白项目 创建方式 $ ionic start ionic1Demo20161209 tabs blank ### 对比tabs,sidemenu项目,区别如下: 1、www目录没有创建 template 模板目录 2、主页 index.html 的body 部分只有一个简单的 panel,没有 ion-nav-view 的UI-Router 3、主程序 app.js 中,只有app的controller(这里叫做starter),并且没有任何注入参数 ----因此,这里没有 controller.js,来扩展 starter.controllers ----没有初始化的残路,例如:sidemenu项目中的 playlists 和 loginData 以及 login 对应的 $ionicModal ----主页UI没有任何 href或者button等,也就不需要定义那些对象的controller,例如:tabs项目中的 ChatsCtrl、ChatDetailCtrl 4、没有状态机路由 $stateProvider 5、没有 url 路由 $urlRouterProvider,所以主页就是 index.html里面的那个 panel,不会调准到某个模板去 6、没有自定义任何指令,例如:tabs中的sevices里面的factory方式的 chats ## 20151224 创建应用程序 1、我这里直接使用Webstrom创建了 2、CLI方法 cordova create hello com.example.hello HelloWorld # 必须预先进行的安装 1、安装 nodejs 2、安装JAVA 3、安装 android sdk tools 4、安装ANT 这个不需要了! 5、安装 Xcode ## 查看 node 安装路径 npm root ## 升级到稳定版本 n stable ## 查看 node 版本 node -v ## 查看 npm 版本 npm -v ## 查看 ionic 版本 ionic -v ## 查看 cordova 版本 cordova -v n stable sudo npm update -g npm ## 升级 ionic sudo npm update ionic -g sudo npm update -g ## 安装\升级 ionic sudo npm install -g ionic # 将整个目录权限都改成 可读写(mac必须root权限) ## 在项目目录下运行 操作 ### 安装package.json中的依赖的js模块 sudo npm install ## 查看支持的平台 sudo cordova platform list 我的电脑结果: Available platforms: amazon-fireos, blackberry10, browser, firefoxos, osx, webos # 增加运行平台 ionic platform add android ionic platform add ios ** githubs 需要翻墙 ** 有时需要2-3次才能完成 Web发布 sudo ionic platform add browser 或 sudo cordova platform add browser ## 编译应用程序 :如果build一步不能正确,那么分两步完成 (直接使用 build总是不能完整) 1、 sudo ionic build android 等效于: sudo ionic prepare android sudo ionic compile android cordova prepare android --release cordova compile android --release 2、sudo ionic build ios 等效于: sudo ionic prepare ios sudo ionic compile ios 或 sudo cordova prepare ios sudo cordova compile ios ## 发布 browser 平台 sudo ionic platform add browser 或 sudo cordova platform add browser sudo ionic prepare browser sudo ionic compile browser ## www运行 直接打开 index.html,在浏览器运行 ## android 打包、运行 *** 不要修改platforms下面的www目录,自动生成的 *** 再次将整个目录权限都改成 可读写(mac必须root权限),因为这次又自动生成了android目录 ### 使用以上增加平台、编译生成 主文件在 :MainActivity.java debug apk文件在 ../platforms/android/build/outputs/apk/android-debug.apk 未签名 apk 位置 ../platforms/android/build/outputs/apk/android-release-unsigned.apk 参考 http://rensanning.iteye.com/blog/2030516 ### 最终方案 : \platforms\android”下面新建一个release-signing.properties 内容如下 ***** key.store=/Users/dhbm/DeskTop/Android/dhbm.keystore key.alias=dhbm.keystore key.alias.password=www.dhbm.cn key.store.password=www.dhbm.cn ***** cordova build android --release 生成的 apk位置: /Users/dhbm/Desktop/pg2015122401/platforms/android/build/outputs/apk/android-release.apk 参考 http://www.tuicool.com/articles/eEj2Q3 Proguard 会混淆cordova及其插件的java代码,导致apk运行时报 cordova error initial class, 解决办法是在proguard-project.txt 加入下面的内容,不混淆cordova及其插件 -keep class org.apache.cordova.** { *; } -keep public class * extends org.apache.cordova.CordovaPlugin 参考 http://lzw.me/a/cordova-3-5-android-apk-signed.html 文件 ant.properties 怎么不行?待处理 ## iOS 打包 发布 *** 不要修改platforms下面的www目录,自动生成的 *** 最好将整个目录权限都改成 可读写(mac必须root权限) 使用以上增加平台 直接生成ipa以及导入到xcode,待处理 ## 关于windows版本的WS *** 不会自动产生 platforms 目录,请在terminal下cli方式增加 ### 增加3种平台方法 sudo ionic platforms add android sudo ionic platforms add ios sudo ionic platforms add browser