一、安装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
浙公网安备 33010602011771号