一.安装node.js

二.安装Ionic2

  npm install -g ionic (安装最新版本)

  ionic -v //查看版本号(是否安装成功)

  

  npm uninstall -g ionic(卸载)
npm install -g ionic@3.9.2(安装自定版本)

三.安装Cordova

  npm install -g cordova

  cordova -v //查看版本号

四.安装JDK

  配置环境变量

  javac -version //查看版本

  

五.安装Android SDK

  配置环境变量, 名称:ANDROID_HOME,值(根据你的SDK路径改):D:\Android\sdk

六.创建项目

  1.进入要创建项目的文件夹

  2.输入命令 ionic start ionic-hello tutorial

    项目名称(项目文件夹) :ionic-hello: 

    界面风格,tabs:一个简单的3选项卡布局(省略默认),

         sidemenu:一个带有侧菜单的布局(官网案例就是这个),

         blank:一个带有单一空页面的裸启动器,

         tutorial:一个引导启动项目,

  3.创建过程中弹出问题

   (1)What starter would you like to use:使用什么布局(就是上面那些)

   (2)Would you like to integrate your new app with Cordova to target native iOS and Android?

      您想将您的新应用程序与cordova集成到本地ios和android吗?YES

   (3)Install the free Ionic Pro SDK and connect your app?

      是不是安装Pro版帮助你开发?  (NO) ^_^这就看你了 输入yes的话会让你登录什么的

       出现Running command - done! 表示创建完成,也有可能网络或其它原因创建失败,这时重新创建一次。

七.运行项目(在浏览器中)

  cd ionic-hello

  ionic serve

八.编译成apk

ionic cordova platform add android@^5.0.0

  ionic cordova build android (打包,debug版本)

ionic cordova build android --prod --release (打包,发布版本 )

  (

    --prod参数是ionic2的打包方式,使用之后.map.js会压缩变小,打包的App变小了,

    --release参数是Cordova的打包参数,使用之后App也会变小。

)

ionic cordova run android (安装到手机)

九.签名apk

  发布版本(ionic cordova build android --prod --release)需要签名后才能安装到手机(或在androidApp市场上架)

在cmd中运行命令

(1)

E:\myObject\my\javaObject>keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize  -validity
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: lst
您的组织单位名称是什么?
[Unknown]: zt
您的组织名称是什么?
[Unknown]: ztr
您所在的城市或区域名称是什么?
[Unknown]: hz
您所在的省/市/自治区名称是什么?
[Unknown]: ze
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=lst, OU=zt, O=ztr, L=hz, ST=ze, C=cn是否正确?
[否]: y 正在为以下对象生成 , 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 , 天):
CN=lst, OU=zt, O=ztr, L=hz, ST=ze, C=cn
输入 <alias_name> 的密钥口令
(如果和密钥库口令相同, 按回车):
[正在存储my-release-key.keystore]

keytool是JDK自带的加密工具,我们需要生成一个keystore文件,然后保存好,之后不需要每次都生成新的。

之后会让我们设置一些密码和安全问题,根据命令行提示进行设置即可,最后会在当前命令行执行的目录下自动生成默认名为my-release-key.keystore文件。

  如果你设置了alias_name,那么文件就是你设置的名字(也是随后给apk签名时后面要带的别名)。

  输入密钥库口令:要记住,在后面给apk文件签名时会要求输入.

validity 10000代表文件的加密时间为10000天。

(2)

E:\myObject\office\netObject\mixing-pile\platforms\android\build\outputs\apk>
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore e:/myobject/my/javaobject/my-release-key.keystore android-release-unsigned.apk alias_name

  这个alias_name就是上面生成加密文件时的alias_name

jarsigner是JDK自带的签名工具,我们需要将release版本的apk文件利用keystore文件进行加密,也就是签名,签名之后的apk才能发布到Android应用市场。

  (引用原文https://blog.csdn.net/liujiawei00/article/details/74356356)

十.更改app名称、图标、启动图片

1.更改app名称

项目根目录\config.xml中 widget/name 节点

2.更改app图标

各种平台和不同的分辨率屏幕,生成不同尺寸的图标和启动画面是很麻烦的事,

在ionic中 使用ionic cordova resources android  指令就可以实现了。

把你自己的app图标、启动图片先准备好(.png格式),最好和项目新建生成的默认图标图片大小一致。

(1)准备图标、启动图片(png格式,大小与默认生成的一样)

(2)复制到项目根目录\resources文件夹下

(3)执行命令 ionic cordova resources android

十一.注意事项

1.配置好jdk,android sdk环境变量

  系统环境变量

  ANDROID_HOME,D:\开发工具\android\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk

JAVA_HOME,D:\Program Files\Java\jdk1.8.0_121

CLASSPATH,.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

Path,C:\ProgramData\Oracle\Java\javapath;D:\Program Files\Java\jdk1.8.0_121\bin;D:\Program Files\nodejs\;C:\Python27;D:\开发工具\android\gradle-4.1\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%ANDROID_HOME%\tools

(如果没有安装gradle,先下载好对应版本gradle包并解压,再在上述系统环境变量中配置路径即可)

2.用户环境变量

Path,%ANDROID_HOME%\platform-tools

3.使用ionic cordova platform add android@^5.0.0 命令时最好指定要编译的android版本,如果不指定,则会自动添加最新android版本,此时如果jdk,androidsdk,gradle中任何一个版本不对应的话,编译就会失败。

4.一定要保持网络畅通,首次编译时需要访问google网站,下载很多资源,如果访问被墙了,编译也会失败。如果事先把编译时需要的资源下载好,需要注意版本问题,否则也会编译失败。

  

  

       

ionic3搭建笔记及编译成apk的更多相关文章

  1. 实例具体解释:反编译Android APK,改动字节码后再回编译成APK

    本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能 ...

  2. cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法

    cocos2d-x 3.0 中.假设你须要使用CocosStudio.Extensions扩展库 等等.都须要自己手动加入. 加入过程例如以下:(比方说如今我要加入libExtensions,libC ...

  3. Emscripten编译环境搭建--将C和C++编译成JS

    Emscripten编译环境搭建--将C和C++编译成JS 需求:linux环境下用js执行c.c++文件,使用emscirpten编译器 目标:搭建好Emscripten环境 环境:Ubuntu16 ...

  4. VUE+Ionic,项目搭建&打包成APK

    安装Vue&创建Vue工程 1.安装Vue CLI: npm install -g vue-cli 2.创建新的Vue项目,创建最后一步会提醒是否使用npm install 自动安装,如果选择 ...

  5. 21.TFS文件系统搭建笔记

    TFS文件系统搭建笔记 参考地址: https://github.com/alibaba/tfs/blob/master/INSTALL.md https://github.com/alibaba/t ...

  6. 反编译android APK

    我们经常会在如下的情况使用反编译 1.看到别人应用中的酷炫功能,想知道是如何实现的 2.别人应用的素材排版好漂亮,想套用模仿   百度一下就已经有一大堆反编译的教程了,我还是坚持学习记录一下.   A ...

  7. (转)redis 学习笔记(1)-编译、启动、停止

    redis 学习笔记(1)-编译.启动.停止   一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先 ...

  8. 反编译Android APK及防止APK程序被反编译

    怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式 ...

  9. Android 开发笔记“程序安装包APK的制作”

    资源来源:http://blog.csdn.net/qualcent/article/details/6959547 完成Android项目后,需要将程序打包成APK文件(Android Packag ...

随机推荐

  1. 5G投资逻辑

    5G投资逻辑 关注光模块生产厂商. 通信射频滤波器,功率放大器生产厂商. 光无源器件的需求增多

  2. 高分辨率下放大netbeans中的小图标

    参考:http://ask.csdn.net/questions/388953 在高DPI下,Netbeans 8.2的图标变得非常小.怎么办? 修改C:\Program Files\NetBeans ...

  3. 黄聪:visual studio 2017编译运行出现脚本发生错误等问题如何解决?

    升级VS2017后,编译运行程序会出现 /Community/Common7/IDE/PrivateAssemblies/plugin.vs.js 错误 先说VS2017-15.6.1跟旧版本IE的兼 ...

  4. Git和Svn对比

    From: https://wenku.baidu.com/view/1f090e2e7275a417866fb84ae45c3b3567ecdd12.html Git和Svn对比   共享文档   ...

  5. 转:细说ASP.NET Windows身份认证

    转自:https://www.cnblogs.com/fish-li/archive/2012/05/07/2486840.html 细说ASP.NET Windows身份认证 阅读目录 开始 认识A ...

  6. 实验四:xl命令的常见子命令以及操作

    实验名称: xl命令的常见子命令以及操作 实验环境: 这里我们需要正常安装一台虚拟机,如下图: 我们这里以一台busybox为例,来进行这些简单的常见的操作: 实验要求: 这里我们准备了5个常见操作: ...

  7. MPP数据库

    MPP数据库   版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/lyc417356935/article/details/45033069 MPP数据库定 ...

  8. (14)其他Linux命令

    *****拷贝文件cp somefile.1 /home/hadoop/      以原文件名进行拷贝 cp somefile.1 /home/hadoop/somefile.2    以新文件名进行 ...

  9. JEECG 上传插件升级-代码生成器

    前言: 现有的uploadify上传是基于swf的,随着H5的普及,flash即将退出历史舞台,JEECG本着与时俱进的原则,将全面升级JEECG系统中的上传功能,采用新式上传插件plupload,此 ...

  10. Sql Server数据库之事务,视图,索引

    一.事务的定义 事务是一种机制,包含一组操作指令,并将所有的命令作为一个整体一起向系统提交或撤销操作请求(要么都执行,要么都不执行) 二.事务的分类 显式事务:用Begin TRANSCATION开始 ...