一.安装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. Win10下JDK环境变量的设置

    1.找到jdk正确的安装路径 2.打开环境变量设置 打开"资管管理器"后,右击"此电脑",点击"属性" 然后点击"高级系统设置&q ...

  2. win7文件夹带锁标志如何去除?win7去除文件夹带锁标志的方法

    win7文件夹带锁标志如何去除?win7去除文件夹带锁标志的方法 http://www.xitongcheng.com/jiaocheng/win7_article_30333.html 具体方法如下 ...

  3. 【maven】之nexus常用的一些配置

    nexus私服主要是在项目和maven中央仓库中间做代理,一般在公司内网或者公司内部的一些私包,都需要这么个产品.下面主要是关于maven和nexus之间的一些配置 1.在pom中配置nexus私服 ...

  4. windows异常事件对应的ID

    转载地址: Windows 2008 R2查看异常关机或开机事件ID https://blog.csdn.net/hejun1218/article/details/81059327

  5. C# WinForm 实现窗体淡入淡出

    有时候我们需要给窗体的打开和关闭添加点动画效果.最近正好有这类需求,于是研究了下窗体的淡入淡出,很简单就实现了,这里发表下成果,以供朋友们使用. 在Windows,有一个API,可以设置窗体的可见度, ...

  6. javaweb项目编译错误

    Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Location TypeDynamic Web Module 3.0 r ...

  7. leetcode11

    public class Solution { //public int MaxArea(int[] height) //{ // var max = 0; // for (int i = 0; i ...

  8. leetcode979

    搞不定这种递归计算,可能我的头脑是“线性”的,这种一层一层的,想起来太费劲了,想的头发都没了.以后希望能有AI来写这种程序吧,AI不怕掉头发! class Solution(object): def ...

  9. 30_react_router基本使用

    项目结构: import React from 'react' import {render} from 'react-dom' import {BrowserRouter} from 'react- ...

  10. python学习记录

    学习python中······· 今天写了个装饰器用来登录用,用户名和密码是存在文件里的,涉及到了装饰器和带参数的装饰器 文件里的内容如下 {"liming": 123456} { ...