ionic打包成安卓包

来源:互联网 发布:海外游戏市场数据分析 编辑:程序博客网 时间:2024/06/05 16:49

1、下载JDK,找到电脑对应的版本http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

这里下载的版本是:jdk-8u20-windows-x64

环境配置参考:配置tomat运行环境说明

2、下载Apache Ant,下载对应的包

这里下载的版本是:apache-ant-1.9.6-bin.zip

解压后,放到一个位置:这里放在这里:D:\Program Files\Java\

配置环境变量

2.1、环境变量->新建(系统变量),添加如下信息

APCHE_ANT

D:\Program Files\Java\apache-ant-1.9.6

2.2、找到系统变量Path后面加上

如果最后又分号(;)就这样加

%APCHE_ANT%\bin;

如果最后没有分号(;)就这样加上

;%APCHE_ANT%\bin;

测试是否配置成功?

重新打开cmd输入如下信息

1
2
3
4
5
6
7
C:\Users\null>D:
 
D:\>cd %APCHE_ANT%
 
D:\Program Files\Java\apache-ant-1.9.6>ant
Buildfile: build.xml does not exist!
Build failed

如果这个代码配置成功!

3、下载安卓sdk

下载地址:http://developer.android.com/sdk/index.html

选择第二个

点download the sdk now

这里下载的是:android-sdk_r24.4.1-windows.zip

解压路径放在:D:\Program Files\Java

想系统环境变量Path添加下面两个,在最后面添加(注意解压的并没有platform-tools文件夹,先别管

D:\Program Files\Java\android-sdk-windows\platform-tools;D:\Program Files\Java\android-sdk-windows\tools

找到路径:D:\Program Files\Java\android-sdk-windows打开SDK Manager.exe出现下图

反正我下载不到,后来去下面这个地址下载(你懂得)

或者下载地址:http://dl-ssl.google.com/android/repository/platform-tools_r23-windows.zip

解压把名字platform-tools后放到:D:\Program Files\Java\android-sdk-windows下

打开上面的SDK Manager.exe,把platform-tools升级到23.1版本

4.安装nodejs

node版本:v5.1.1

npm版本:3.3.12

略过

5.使用npm安装Cordova(版本5.4.1)

cmd打开,输入

1
npm install -g cordova

6.使用npm安装ionic(版本1.7.11)

1
npm install -g ionic

注意:如果上面安装不了,那么把镜像源只想淘宝的吧

找到nodejs安装路径:

D:\Program Files\nodejs\node_modules\下的文件npmnpmrc追加:

registry = http://registry.npm.taobao.org

1
2
prefix=${APPDATA}\npm
registry = http://registry.npm.taobao.org

然后再执行上面的命令,这样就快多了。

测试:

1、创建一个APP

1
ionic start app

之后会在路径:D:\wamp\www\gsy2.0\ionic\pack_test里头创建一个app文件夹

2、进入APP

1
cd app

3、选择配置Android环境

1
ionic platform add android

4、打包生成APP

1
ionic build android

注意:由于上面只是勾选了platform-tools来安装,这里就会报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Running command: "D:\Program Files\nodejs\node.exe" D:\wamp\www\gsy2.0\ionic\pac
k_test\app\hooks\after_prepare\010_add_platform_class.js D:\wamp\www\gsy2.0\ioni
c\pack_test\app
add to body class: platform-android
Running command: cmd "/s /c "D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\an
droid\cordova\build.bat""
[Error: Please install Android target: "android-22".
 
Hint: Open the SDK manager by running: D:\Program\ Files\Java\android-sdk-window
s\tools\android.BAT
You will require:
1. "SDK Platform" for android-22
2. "Android SDK Platform-tools (latest)
3. "Android SDK Build-tools" (latest)]
ERROR building one of the platforms: Error: cmd: Command failed with exit code 2
 
You may not have the required environment or OS to build this project
Error: cmd: Command failed with exit code 2

所以还要根据它的要求多安装一些东西。

再试一下:结果报了这个错

1
2
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip
Exception in thread "main" java.lang.RuntimeException: java.net.UnknownHostException: services.gradle.org

手动下载这个

1
http://services.gradle.org/distributions/gradle-2.2.1-bin.zip

解压后然后配置系统环境变量,在Path后添加,配置解压目录的bin文件夹下

这里的地址是:D:\Program Files\Java\gradle-2.2.1\bin

重新打开cmd

输入

1
gradle -v

有信息则代表配置成功

1
2
3
4
5
6
7
8
9
10
11
12
------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------
 
Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a
 
Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_20 (Oracle Corporation 25.20-b23)
OS:           Windows 7 6.1 amd64

再运行

1
ionic build android

又报错了…..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Running command: "D:\Program Files\nodejs\node.exe" D:\wamp\www\gsy2.0\ionic\pac
k_test\app\hooks\after_prepare\010_add_platform_class.js D:\wamp\www\gsy2.0\ioni
c\pack_test\app
add to body class: platform-android
Running command: cmd "/s /c "D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\an
droid\cordova\build.bat""
ANDROID_HOME=D:\Program Files\Java\android-sdk-windows
JAVA_HOME=D:\Program Files\Java\jdk1.8.0_20
Running: D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\android\gradlew cdvBui
ldDebug -b D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\android\build.gradle
 -Dorg.gradle.daemon=true
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip
 
Exception in thread "main" java.lang.RuntimeException: java.net.UnknownHostExcep
tion: services.gradle.org
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:78)
        at org.gradle.wrapper.Install.createDist(Install.java:47)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.net.UnknownHostException: services.gradle.org
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java
:184)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
        at sun.net.www.http.HttpClient.New(HttpClient.java:308)
        at sun.net.www.http.HttpClient.New(HttpClient.java:326)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC
onnection.java:1167)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConn
ection.java:1103)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne
ction.java:997)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection
.java:931)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLCo
nnection.java:1511)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:1439)
        at org.gradle.wrapper.Download.downloadInternal(Download.java:59)
        at org.gradle.wrapper.Download.download(Download.java:45)
        at org.gradle.wrapper.Install$1.call(Install.java:60)
        at org.gradle.wrapper.Install$1.call(Install.java:47)
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:65)
        ... 3 more
 
D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\android\cordova\node_modules\q\
q.js:126
                    throw e;
                    ^
Error code 1 for command: cmd with args: /s /c "D:\wamp\www\gsy2.0\ionic\pack_te
st\app\platforms\android\gradlew cdvBuildDebug -b D:\wamp\www\gsy2.0\ionic\pack_
test\app\platforms\android\build.gradle -Dorg.gradle.daemon=true"
ERROR building one of the platforms: Error: cmd: Command failed with exit code 1
 
You may not have the required environment or OS to build this project
Error: cmd: Command failed with exit code 1

已经离线下载了,但是运行上面的命令还是会去下面这个地址下载

1
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip

解决方法:

找到项目地址

1
D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\android\cordova\lib\build.js

在build.js中找到

1
var distributionUrl = 'distributionUrl=http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip';

改为

1
var distributionUrl = 'distributionUrl=../gradle-2.2.1-bin.zip';

其中gradle-2.2.1-bin.zip文件所在地址这里是

1
D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\android\gradle\gradle-2.2.1-bin.zip

参考这个地址

http://stackoverflow.com/questions/29874564/ionic-build-android-error-when-download-gradle

再次运行

1
ionic build android

又报错,不想活了….

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
D:\wamp\www\gsy2.0\ionic\pack_test\app>ionic build android
Running command: "D:\Program Files\nodejs\node.exe" D:\wamp\www\gsy2.0\ionic\pac
k_test\app\hooks\after_prepare\010_add_platform_class.js D:\wamp\www\gsy2.0\ioni
c\pack_test\app
add to body class: platform-android
Running command: cmd "/s /c "D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\an
droid\cordova\build.bat""
ANDROID_HOME=D:\Program Files\Java\android-sdk-windows
JAVA_HOME=D:\Program Files\Java\jdk1.8.0_20
Running: D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\android\gradlew cdvBui
ldDebug -b D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\android\build.gradle
 -Dorg.gradle.daemon=true
Downloading file:/D:/wamp/www/gsy2.0/ionic/pack_test/app/platforms/android/gradl
e/wrapper/../gradle-2.2.1-all.zip
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
..................................................
Unzipping C:\Users\null\.gradle\wrapper\dists\gradle-2.2.1-all\287ag5fp0lv5p6lhg
c3brd1kuu\gradle-2.2.1-all.zip to C:\Users\null\.gradle\wrapper\dists\gradle-2.2
.1-all\287ag5fp0lv5p6lhgc3brd1kuu
 
FAILURE: Build failed with an exception.
 
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Could not resolve com.android.tools.build:gradle:1.0.0+.
     Required by:
         :android:unspecified
      > Failed to list versions for com.android.tools.build:gradle.
         > Unable to load Maven meta-data from https://repo1.maven.org/maven2/co
m/android/tools/build/gradle/maven-metadata.xml.
            > Could not GET 'https://repo1.maven.org/maven2/com/android/tools/bu
ild/gradle/maven-metadata.xml'.
               > Connection to https://repo1.maven.org refused
 
 
BUILD FAILED
 
Total time: 2 mins 27.178 secs
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
 
D:\wamp\www\gsy2.0\ionic\pack_test\app\platforms\android\cordova\node_modules\q\
q.js:126
                    throw e;
                    ^
Error code 1 for command: cmd with args: /s /c "D:\wamp\www\gsy2.0\ionic\pack_te
st\app\platforms\android\gradlew cdvBuildDebug -b D:\wamp\www\gsy2.0\ionic\pack_
test\app\platforms\android\build.gradle -Dorg.gradle.daemon=true"
ERROR building one of the platforms: Error: cmd: Command failed with exit code 1
 
You may not have the required environment or OS to build this project
Error: cmd: Command failed with exit code 1

这里的报错是说环境配置问题,之前把grade放到了D盘,现在解压到C盘,所以环境变量配置要变为

1
C:\Users\null\.gradle\wrapper\dists\gradle-2.2.1-all\287ag5fp0lv5p6lhgc3brd1kuu\gradle-2.2.1\bin

再次运行,如果打开,要先关闭cmd

打包成功!

另外还有一个方法可以打包安卓apk

就是运行这个命令

1
cordova build android -- --ant

发现安装成功

安装包生成在这里了。

之后把MainActivity-debug.apk这个放到安卓包安装

运行可以看到界面了


说明:本例子转自于http://blog.frontsucai.com/2016/01/ionic%E6%89%93%E5%8C%85%E6%88%90%E5%AE%89%E5%8D%93%E5%8C%85/;Null's blog
0 0