一、前言

前段时间,公司有个APP项目需要支持不同平台,于是采用了Ionic2 + cordova + angular2,在搭建环境过程中遇到了不少问题,刚好最近有时间整理出来。

二、开发环境搭建

参考这个网站步骤搭建:https://github.com/DonaldTdz/Ionic2QuickStart

注意:nodejs 要装6.0 +LTS最新版,不要装8.X的最新版本(https://nodejs.org/en/)

Cordova版本要安装6.X版本,目前cordova-android版本最高只能支持到6.X.X

cmd: cnpm install –g ionic cordova@6.x

cmd: ionic –v  Cordova –v 查看显示版本号,安装成功

三、运行一个ionic种子项目

下载地址:https://github.com/DonaldTdz/ionic-seed

用vs code打开终端输入命令:cnpm install

Ionic serve 运行项目

Web端运行项目成功,开发环境搭建完成

下面我们开始打包到Android APP

四、Cordova打包Android平台环境搭建

参考官方说明:

(中文)http://cordova.axuer.com/docs/zh-cn/latest/guide/platforms/android/index.html

(英文)http://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html

注:中文网址信息不是最新,访问速度比较快,英文更新到最新,但访问速度较慢

1、安装Java SDK

Java开发工具包(JDK)

安装Java Development Kit (JDK) 7或者最新的。

当在Windows上安装的时候需要根据JDK路径设置JAVA_HOME环境变量(参见设置环境变量)

cmd:Java –version 显示版本号安装成功

Java SDK环境变量配置

JAVA_HOME 配置安装目录

Path配置:%JAVA_HOME%\bin

添加CLASSPATH : .;%JAVA_HOME%\lib; (注:如存在这个环境变量,需要检查)

2、安装Android SDK Tools

(注:如果需要添加cordova插件,建议安装Android Studio)

Android SDK

安装Android Stand-alone SDK或者Android Studio。如果你计划开发一个新的Cordova Android插件或者使用Android平台原生的工具去运行和调试,那么就使用Android Studio吧。否则,Android Stand-alone SDK Tools就足够构建和部署Android应用程序了。

详细的安装说明可以点击上面的安装链接查看。

3、添加Android SDK包

添加SDK包

在安装完Android SDK后,你需要安装任何你希望的目标API级别的SDK包。建议你安装cordova-android(参见上面)支持的最高级别的SDK包。

打开Android SDK Manager (例如,在终端上运行`android),并确保下面已经安装:

  1. 目标Android版本的Android Platform SDK
  2. Android SDK build-tools,版本19.1.0或者之上
  3. Android Support Repository (在"Extras"查找)

参见 Android文档安装SDK包获得详细内容。

先打开刚下载的项目终端运行:cordova platform ls 查看cordova android依赖的android SDK版本

对应下面列表依赖android API级别是16-25(http://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html

然后下载对应的依赖包

安装成功后配置环境变量

ANDROID_HOME:

D:\Program Files\Android\android-sdk

Path:

D:\Program Files\Android\android-sdk\platform-tools

D:\Program Files\Android\android-sdk\tools

cmd:android –h 查看如下面表示安装成功

五、打包Android APP

1、 添加Android平台

Ionic cordova platform add android

2、依赖gradle修改到本地

原因是国外网站打包运行时很慢或导致失败,你懂的

下载地址:https://services.gradle.org/distributions/

(注:如下载慢用下载工具如迅雷)

下载版本选择,先搜索distributions/gradle

如下我们需要版本:gradle-2.14.1-all.zip,避免下错版本

下载完成不用解压,直接拷贝到你项目的下面这个路径:

\app\platforms\android\gradle(注:如不存在需要建一个,注意拼写错误)

打开刚搜索到的文件:\platforms\android\cordova\lib\builders\GradleBuilder.js

将原来的注释掉并修改为本地包../gradle-2.14.1-all.zip

3、 打包应用

ionic cordova build android

打包完成后会输出一个apk手机安装包文件

安装到手机运行成功!!

六、应用签名和启动优化

1、生成签名秘钥

签名一个应用

首先你应该阅读Android应用签名所需

使用标志

签名一个应用,你需要下面参数:

参数 标志 描述
Keystore --keystore 用来存储一组key的二进制文件路径
Keystore Password --storePassword keystore存储密钥
Alias --alias 用来指定私有key用来签名
Password --password 私有key的密码
Keystore的类型 --keystoreType 默认: 自动检测基于文件扩展名
pkcs12或者jks

这些参数可以通过上面的Cordova CLI build 或者 run命令来指定命令行参数。

注意: 你应该使用两个中划线 -- 来表示这些平台特定参数,例如:

cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=password --alias=alias_name --password=password.

cmd 到目录:D:\projects\dev\tz\saas\app\platforms\android(android平台根目录)

cmd:keytool -genkey -alias tzky.keystore -keyalg RSA -validity 40000 -keystore tzky.keystore

根据输入提示完成输入,生成成功后刷新android平台根目录

2、签名应用并打包

cordova build android --release -- --keystore="..\tzky.keystore" --storePassword=xxxxx --alias=tzky.keystore

(注:自动生成打包配置文件release-signing.properties需要注意tzky.keystore的放置路径要匹配)

手动添加release-signing.properties文件并修改:

添加完成后直接运行:cordova build android –release

3、优化启动速度

ionic cordova build android --prod –release

(注意:需要代码优化,如果有错误,根据错误提示修改)

启动优化参考:http://blog.csdn.net/u010564430/article/details/61201769

在config.xml文件中添加如下内容:

<preference name="AutoHideSplashScreen" value="false" />

<preference name="FadeSplashScreenDuration" value="1000" />

<preference name="SplashScreen" value="screen" />

<preference name="ShowSplashScreen" value="true" />

<preference name="ShowSplashScreenSpinner" value="false" />

<preference name="SplashShowOnlyFirstTime" value="false" />

<preference name="FadeSplashScreen" value="true" />

Ionic2 cordova angular2 打包到Android apk环境搭建的更多相关文章

  1. android 开发环境搭建 (转)

    最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环 境去学习,Android的更新速度比较快了,Android1 ...

  2. windows下cocos2dx3.0开发环境及Android编译环境搭建

    cocos2dx更新到了3.x版本号,自己一直没有换,如今开发组要求统一换版本号,我就把搭建好开发环境的过程记录下来. 一.Windowns下开发环境搭建 1.  所需工具         1)coc ...

  3. Android #Android开发环境搭建

    Android #Android开发环境搭建 1.下载:Google在国服的官网 https://developer.android.google.cn/index.html 1.点击首页 “ 获取 ...

  4. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  5. 【转】Windows环境下Android NDK环境搭建

    原文网址:http://www.metsky.com/archives/525.html 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员 ...

  6. Windows环境下Android NDK环境搭建

    前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设 ...

  7. QT 5.4.1 for Android Windows环境搭建

    QT 5.4.1 for Android Windows环境搭建 2015-5-13 目录 一.参考文章: 二.准备软件: 三.安装准备好的软件: 四.配置Qt 5.4.1 for Android 五 ...

  8. 转---详细的Android开发环境搭建教程

    五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程 引言   在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立A ...

  9. 使用Kotlin开发Android应用 - 环境搭建 (1)

    一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositorie ...

随机推荐

  1. ligerUI---下拉菜单(menubar)动态显示(从后台获取数据)

    写在前面: ligerui的下拉菜单是有点丑的,这也是没有办法的事........这里主要记录下,如何从后台获取数据进行菜单显示. 有两种方式:1.使用json数组来动态添加  2.字符串拼接.  其 ...

  2. Audio Source组件及相关API

    Audio Source:声音组件.需要与 Audio Listener 配合使用,Main Camera 会默认有 Audio Lisetener. Audio Clip:声音片段.指定需要播放的音 ...

  3. javac 实现原理

    javac 概述 javac 是jdk bin目录下的一个脚本. 用于编译 java程序的源代码,但是 其实现的本质 是基于 jdk 标准类库中的 javac类库实现,所以java的编译器实质上是一个 ...

  4. [Asp.Net Core] 1. IIS中的 Asp.Net Core 和 dotnet watch

    在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录.然后build一下就可以 ...

  5. 2719:陶陶摘苹果-poj

    2719:陶陶摘苹果 总时间限制:  1000ms 内存限制:  65536kB 描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米 ...

  6. tnsping非常慢

    最近给同事虚拟机上安装了一个11g数据库,发现一个奇怪的问题,用windows客户段连接时候非常慢,慢到不能容忍的地步,但是本地os验证登录没有问题,速度非常快,初步定为问题出在监听上,于是我tnsp ...

  7. 数据库索引------B-Tree 索引和 Hash 索引的对比

    对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎. B-Tree 索引的 ...

  8. Postgres中表和元组的组织方式

    PG version 9.5.3 PG中四种堆文件: 普通堆 临时堆 序列堆 TOAST表 PageHeaderData长度为24(截图为8.4版本,20字节)个字节包含的内容如下: 空闲空间的起始和 ...

  9. vs2015 制作安装包额外需要安装的软件VSI_bundle

    vs2015 制作安装包额外需要安装的软件VSI_bundle 下载地址:http://files.cnblogs.com/files/sdner/VSI_bundle.rar

  10. Netty与传统Server对比

    前言 本文旨在介绍传统Socket服务端与NIO服务端的差异. 以餐厅服务员简单举例,每个客人对应一个请求. 传统Socket / OIO public class OioServer { @Supp ...