环境

  • ubuntu 12.04.1 LTS x86_64

  • android sdk r21.0.1 linux

  • phonegap 2.3.0 or cordova 2.3.0

说明

  • 由于公司项目需要,领导安排了解下Web移动开发的相关知识,了解到移动开发的框架很多,先从PhoneGap Android开始吧。本人对Android、JAVA、PhoneGap相关基础知识不了解,边学边用,以至于一开始出现很多问题,反复查阅资料才得以解决,以下有相关记录

  • 不用Eclispe,命令行方式操作

安装基本Android开发环境

  • 首先安装必要依赖软件包,仔细看看 android官网的SYSTEM REQUIREMENTS
    glibc (>=2.7版本)一般都已经装好了,没有就补上
    sudo apt-get install ia32-libs #64位系统的32位程序兼容库adb需要此库(32位系统的当然略过此步骤)
    sudo apt-get install openjdk-7-jdk #java环境,安装开源的jdk,或者安装sun官方jdk,也有说只安装jre就行,但是官网上有句话(JRE alone is not sufficient),防止以后有什么问题,还是装jdk(安装jdk会自动安装jre),还有官网是说jdk6,有问题再换吧,安装多个版本JAVA的注意指定JAVA_HOME、CLASSPATH等环境变量,以免找不到java。
    sudo apt-get install ant # apache ant ,java打包器

  • 然后按照 android官网的指导 一步一步操作,我选择的是下载独立的SDK tools,命令行操作,省掉那个Eclispe,所以我参考 Setting Up an Existing IDE
    tar zxvf path/to/android-sdk_r21.0.1-linux.tgz -C ~/Development/
    接下来, Adding Platforms and Packages ,用SDK Manager安装必要的开发工具及平台
    cd ~/Development/android-sdk-linux/tools/
    ./android sdk
    选中Tools及你需要的android版本(我选的2.3.3),同时确保最新版的API及Android Support Library是选中状态
    为了以后方便,将~/Development/android-sdk-linux/tools/及~/Development/android-sdk-linux/platform-tools/加入环境变量,编辑/etc/environment或者~/.bashrc,想立刻生效的话执行 source /etc/environment(或~/.bashrc)

  • 写个hello world测试下(命令行模式), Building Your First App
    android list targets #查看可用平台
    android create project –target 1 –name MyFirstApp –path ~/Development/android-project/MyFirstApp –activity MainActivity –package com.example.myfirstapp #创建一个项目,1是平台id,注意参数是2个连续的-
    ll ~/Development/android-project/ #可以看到创建的MyFirstApp项目文件夹
    跑一下看看成果, Running Your App ,根据你的要求可能需要修改默认生成的项目文件,参考官网文档
    android avd #点击New,选择一个设备创建模拟器,完了点击Start启动模拟器
    如果在真实设备上运行,连接电脑,开启USB调试模式
    cd ~/Development/android-project/MyFirstApp
    ant debug #debug模式打包
    adb install bin/MyFirstApp-debug.apk #用adb安装到模拟器
    顺利的话,应该在模拟器中看见一个MainActivity的程序,点开看看….

安装PhoneGap环境

  • 特别说明 :坑爹的官方指导( Getting Started with AndroidPhoneGap WikiCommand-Line Approach )对应的是老版本,新版本有很多调整,所以导致完全按官方指导操作,一路报错,还有官方说明中是用的 apache cordova ,一开始搞不清楚这个cordova和phonegap的区别和关系,百度得知,cordova是(adobe)phonegap贡献给Apache的开源核心引擎代码,有点类似于webkit和chrome的关系,从apache下载的cordova压缩包是核心引擎的源代码,需要经过以下步骤生成phonegap的类库及相关文件(这一点官方指导完全未做说明),而从PhoneGap官网下载的压缩包是打包好的,可以直接用,所以这2种方式二选一即可,可以直接用PhoneGap,为了探清事实真相,我还是按照cordova中android部分的README.rd操作了一遍( 再次提醒如果用PhoneGap,下面的这一部分操作是不需要的 ),结果和使用PhoneGap完全一样(但是框架目录本身(不是指生成的项目)的结构不同,这个就不深究了)。
    下载 Apache Commons Codec 后解压缩
    下载 Apache Cordova 后解压缩,只要其中的android部分
    按照android部分的README.md指示操作
    cd path/to/cordova-android/frameworks/
    mv path/to/commons-codec-1.7.jar ./libs/ #目录不存在则创建
    android update project -p . -t android-17
    ant jar #看输出日志可以知道生成了framework/bin/classes.jar和framework/cordova-2.3.0.jar,这正是phonegap包里生成好了的

  • 创建项目测试下
    cd ~/Development/
    unzip path/to/phonegap-2.3.0.zip #解压缩phonegap,或者用从apache下载的cordova-2.3.0-src.zip,解压缩后需要按照各平台里的README.md操作以生成必要的类库
    ./bin/create ~/Development/android-project/MyFirstPhoneGapApp com.example.myfirstphonegapapp MyFirstPhoneGapApp
    cd ~/Development/android-project/MyFirstPhoneGapApp
    ll ./cordova #看到这里的命令有些变化,和官方指导中的不一样
    ./cordova/build #官方指导中是 ./cordova/debug
    ./cordova/run #官方指导中是 ./cordova/emulate
    顺利的话会自动开启你的模拟器并运行你的第一个程序,你应该看到一个写着Apache Cordova device is ready的程序界面。

结束语

  • 至此,这个基本的Android、PhoneGap的开发环境就算搭建完毕,剩下的就是开发的事情了。