一、安装jdk环境

  这就很简单了,下载tar包,然后解压到目录,并配置JAVA_HOME、JRE_HOME、CLASSPATH和PATH:

export JAVA_HOME=/etc/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin

     注意,与windows中用“;”分隔不同,ubuntu中环境变量以英文冒号“:”分隔。另外,PATH配置时,是在已有的PATH中进行连接,如果没有,就变成了重新赋值。

  以上变量我都配置在/etc/profile中。但使用sudo命令时,还是提示没有配置环境变量,好像是要到/etc/sudoers中进行配置。/etc/profile、~/.bashrc、sodu,这几层的环境变量,我一直都没有彻底弄明白,这周一定要好好的弄清楚一下。

  可关注这个博客:http://www.cnblogs.com/zhangpengshou/p/3537619.html

二、安装sdk

1、安装32位库文件

     我查到的资料中说android sdk的adb目前都是32位的,所以若是64位的ubuntu,则需要安装32位的库文件,用于兼容32位的程序。虽然我只是需要用sdk进行编译和打包,并不用于开发,但为了避免出问题,还是选择了安装。

sudo apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1

2、安装sdk

    到android的官网(http://developer.android.com/sdk/index.html#Other)下载最新的sdk。由于我只需要编译和打包,不需要开发,所以只下载了sdk tools only。

wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz

    如果连接超时——肯定会超时,你懂得——就得FQ去下了。国内虽然有镜像(http://gmirror.org/#android-sdk-tools-only),但我一直执着于所有东西都从官网下载。

3、配置环境变量

ANDROID_HOME=/sdk根目录
PATH=$PATH:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools

    注意,下载的sdk中,并没有platform-tools,只有tools,需要进行更新,为了方便,我先配置了。

4、更新sdk,安装platform-tools和build-tools

  这里是我第一个被坑的地方,找的资料里面都没有说需要更新,我也没有注意检查,只在后来使用cordova的时候,才发现出了问题。下载的sdk中,只有add-ons、platforms、SDK Readme.txt和tools,而platform-tools和build-tools都需要更新和安装。

      首先,通过help查看update的帮助

android update sdk help

      输出如下

Error: Argument 'help' is not recognized.
Usage:
android [global options] update sdk [action options]
Global options:
-h --help       : Help on a specific command.
-v --verbose    : Verbose mode, shows errors, warnings and all messages.
--clear-cache: Clear the SDK Manager repository manifest cache.
-s --silent     : Silent mode, shows errors only.
Action "update sdk":
Updates the SDK by suggesting new platforms to install if available.
Options:
--proxy-port: HTTP/HTTPS proxy port (overrides settings if defined)
--proxy-host: HTTP/HTTPS proxy host (overrides settings if defined)
-s --no-https  : Uses HTTP instead of HTTPS (the default) for downloads.
-a --all       : Includes all packages (such as obsolete and non-dependent ones.)
-f --force     : Forces replacement of a package or its parts, even if something has been modified.
-u --no-ui     : Updates from command-line (does not display the GUI)
-p --obsolete  : Deprecated. Please use --all instead.
-t --filter    : A filter that limits the update to the specified types of packages in the form of a comma-separated list of [platform, system-image, tool, platform-tool, doc, sample, source]. This also accepts the identifiers returned by 'list sdk --extended'.
-n --dry-mode  : Simulates the update but does not download or install anything.

    其中,-s为强制使用http,-u为通过命令行更新,-t可指定更新的模块,--proxy-host和--proxy-port可指定代理服务器和端口。

    可使用如下代理服务器:

大连东软信息学院镜像服务器地址:
http://mirrors.neusoft.edu.cn 端口:80

北京化工大学镜像服务器地址:
IPv4: http://ubuntu.buct.edu.cn/ 端口:80
IPv4: http://ubuntu.buct.cn/ 端口:80
IPv6: http://ubuntu.buct6.edu.cn/ 端口:80

上海GDG镜像服务器地址:
http://sdk.gdgshanghai.com 端口:8000

   先查看可更新的列表:

android list sdk --proxy-host sdk.gdgshanghai.com --proxy-port 8000 -s

Packages available for installation or update: 46
1- Android SDK Tools, revision 24.4.1
2- Android SDK Platform-tools, revision 23.0.1
3- Android SDK Build-tools, revision 23.0.2
4- Documentation for Android SDK, API 23, revision 1
5- SDK Platform Android 6.0, API 23, revision 1
.............

    根据列表中给出的序号,进行更新:

android update sdk --proxy-host sdk.gdgshanghai.com --proxy-port 8000 -s -u -t 2,3

    tip:也可通过在网上下载既有的包,然后解压到sdk中相应的位置。这次,我出现了无法更新build-tools的情况,最终是通过下载了一个build-tools_r23.0.2-linux.zip,然后在sdk中建立了目录/build-tools/23.0.2,然后将压缩包中的内容解压到该路径下即可。

 

三、安装cordova

1、安装nodejs

    可直接通过ubuntu的apt-get进行安装,不过注意的是安装nodejs-legacy。关于node和node.js,我在网上查过资料,却一直弄不清楚区别。

sudo apt-get install nodejs-legacy

2、安装npm

  cordova托管于npm,需通过npm进行安装,所以先要安装npm,可通过apt-get安装。

sudo apt-get install npm

3、安装cordova

sudo npm install -g cordova

 

四、创建、编译和打包

1、创建cordova工程,其中app名称可以为中文:

cordova create 工程名 包名 app名称

2、添加android平台,通过@指定minSdkVersion:

cordova platform add android@4.1

3、打包调试模式的apk

cordova build android

    build命令默认为打包调试模式的apk,系统会自动使用debug.keystore(/root/.android/debug.keystore)进行签名,生成两个文件:

  • XXXX-debug.apk(signed, unaligned)
  • XXXX-debug-unaligned.apk(signed, aligned)

4、打包发布模式的apk

(1)通过jdk的keytool工具生成keystore文件,并拷贝到工程的根目录中:

keytool -genkey -v  -keystore  com.ronxuntech.android.keystore  -alias ronxuntech -keyalg RSA -validity 365

(2)在工程根目录中,建立release-signing.properties,用于指定签名文件

storeFile=keystore文件名
key.store.password=your password
key.alias=别名
key.alias.password=your password

(3)打包

cordova build android --release

 

posted on 2016-01-14 23:53  石峰  阅读(729)  评论(0)    收藏  举报