打包APP之前要做的工作:

  ionic resources -icon : 【创建一个app图标】: 以png/psd/AI格式保存在项目目录下的:resource/android/icon.png ;

                                                  使用命令  ionic resources -icon  就可以生产不同尺寸的图标;

  ionic resources --splash : 【创建启动页面图片】:启动画面的源文件至少需要2208px×2208px; 保存在项目目录下:保存格式为resource/android/splash.png

                                                     使用命令 ionic resources --splash 就可以生成不同尺寸的启动动画图片了;

  启动页面的显示时间设置:安卓版的app的设置方法是,在config.xml里加入如下几句话:

            <preference name="SplashScreenDelay" value="5000"/>

            <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了;

ionic打包步骤(安卓)的更多相关文章

  1. ionic打包app——以安卓版本为例 辛苦之路~~~

    最近同事做了个angular项目,因为要离职,所以项目我就来接手了,用ionic打包app,然后无数配置的坑就等着我了~~~ 环境安装 1.nodejs 因为自己刚接触做angular项目,就更新到了 ...

  2. 一个简单移动页面ionic打包成app

    先贴JS代码好了,缓动和调整透明度的功能,最后用ionic打包成应用就可以 window.onload=function(){ search(); move(); calc();}function s ...

  3. 基于Mui与H5+开发webapp的Android原生工程打包步骤(使用新版本5+SDK与Android studio)(部分内容转自dcloud官网)

    文章背景: dcloud官网给出的打包步骤对于有一定安卓打包基础的同学来说比较容易掌握,但是对于webapp小白来讲有的地方可能没有说的太具体.下面我给大家介绍的详细一点,保证大家按照步骤就能学会打包 ...

  4. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯,前面讲 ...

  5. 在游览器上可以连网,Ionic打包后不能连接网络

    在游览器上可以连网,Ionic打包后不能连接网络.可能是没有安装cordova-plugin-whitelist插件.  解决方案:

  6. cordova/ionic打包流程

    ionic android 手工打包指令手册 [工作平台要求] 安装 node.js.cordova.ionic(非必须) 等前端相关软件与组件(1)安装 Java-SDK,正确配置系统环境变量 JA ...

  7. ionic打包报错Execution failed for task ':processDebugResources'

    ionic 打包的时候报了这样一个错误:Execution failed for task ':processDebugResources' 分析: compile "com.android ...

  8. HBuilderX打包成安卓或苹果app之后的调试问题,避免每次都要打包

    一.使用VScode安装 Live Server插件 二.使用:安装成功后---->>新建一个index.html 写入内容如下图所示 注:href地址是你在电脑上启动该项目的访问地址(此 ...

  9. 将H5页面打包成安卓原生app

    第一步:下载HBuilderX,新建项目选择5+App新建一个空项目如下图 新建后项目目录结构如下图 第二步,将你要打包成安卓app的文件打包,最后生成的文件目录如下图 1.打包完成后,将对应文件内容 ...

随机推荐

  1. 常用6种type的form表单的input标签分析及示例

    <input> 标签用于搜集用户信息. 根据不同的 type 属性值,输入字段拥有很多种形式.输入字段可以是文本字段.复选框.掩码后的文本控件.单选按钮.按钮等等. 在这里博主介绍6中ty ...

  2. Linux系统默默改变了人类世界的生活方式

    你知道操作系统都有些什么吗?Windows啊.这是我在上大学之前的问答,我当时认为只一种叫做Windows的操作系统,可是我错了,当我上大学以后,作为计算机专业的一名学生的时候我第一次接触到了除Win ...

  3. oo作业总结(二)

    概述 和前三次作业相比,这几次作业最大的不同是难度的飞跃.遗憾的是在这难度的变化面前,我自己却没有做好充分的准备,错误的低估了作业难度导致给自己带来了很多不必要麻烦和损失.接下来我将对它们进行说明(度 ...

  4. 基于WMI的信息查询和编辑,按微软的说明一般都是

    晕!这个不是很简单的东西吗? //---------WMI---------- type Rec_Wmi = record ComputerName: string; Namespace: strin ...

  5. spring源码研究2 自定义标签实现及使用

    1.自定义标签实现及使用参考: http://blog.csdn.net/fighterandknight/article/details/50112701 1)创建一个需要扩展的组件 User.ja ...

  6. 牛客第三场多校 H Diff-prime Pairs

    链接:https://www.nowcoder.com/acm/contest/141/H来源:牛客网 Eddy has solved lots of problem involving calcul ...

  7. JavaWeb:c3p0配置问题java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector

    错误显示 java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector at dbdemo.JdbcUtils.<clinit> ...

  8. display总结 overflow知识

    # display总结:# inline总结: # 1.同行显示, 就相当于纯位文本, 当一行显示不下, 如就是一字显示不下, 那么显示不下的那个字会自动换行;# 和纯文本的区别就是有纯文本的概念, ...

  9. IO-MYSQL的理解

    数据库IO简介   IO有四种类型:连续读,随机读,随机写和连续写,连续读写的IO size通常比较大(128KB-1MB),主要衡量吞吐量,而随机读写的IO size比较小(小于8KB),主要衡量I ...

  10. Java学习笔记22(List接口)

    List接口继承自Collection接口,自身具有三大特点: 1.有序集合:存入和取出的顺序一致: 2.此接口的用户可以对每个元素插入位置进行精确控制:可以通过索引操作元素 3.可以存储重复元素 L ...