Android开发基础(1)--SDK

    刚听说Android的时候,只知道是个Google开发的,有Linux内核的系统,等我想往上面移植Linux程序的时候,我傻眼了,我错了。。。
I.Android的基本构造和运行过程

    简单地说,Android运行在一个修剪过的Linux内核上;其上的“用户”程序都是Java程序,运行在非标准的Dalvik JVM上;Android会运行一个Zygote(受精卵!#@)进程,它是所有实际“用户”进程的父进程,为每一个用户进程创建JVM并运行之。
II.SDK 和 NDK

    这样说来,Android上的用户程序都得用Java开发咯,没错,这就是Anroid SDK的工作。但是,碰到注重效率,关联底层,或者移植现有的C/C++ 程序/库时,非得用C/C++不可,Google很“周到”地提供了NDK(Native Dev. Kit),但是让人抓狂的就是这个NDK:首先它不是标准的POSIX兼容C库,使用的是一个古怪的Bionic C lib:没有SYS V shm/sem,pthread残疾,fcntl残疾,没有regex,passwd.h残疾...再者与它配合的“Android内核”也是怪胎:不开放tty,非标准/dev/fb0,不开放声卡接口,就算本版开放,说不定下版就关了...最要命的惨不忍睹的C++支持(几乎没有),没有STL,想写个cout<<"fuck android!";都不行!(NDK r5 号称有,我费了大白天功夫都没配置出来。)

    这就是必将在接下来数年红透世界的Android,Google的用意很明确,底层的NDK是给它自个儿用的,其他开发者也就是用JAVA写UI的命了!太TMD的让人不爽了!世无英雄,竖子成名!我可怜的MeeGo,还有可恨的Nokia!!
    发完牢骚回归正题,我的重点在NDK上,但是还必须说下SDK.
III.SDK 配置和使用

    前面说到SDK是Android的标准开发环境,开发在Dalvik JVM上跑的Java程序。SDK的资料很多,恐怕很多都是Windows 下用Eclipse进行Java开发的(有的还用Cygwin),我是Ubuntu 9.04-amd64 下用ant纯粹命令行开发的,有些不同,恕不指出。
   1.准备依赖环境和工具:

   sudo apt- get  install ant git-core gnupg flex bison gperf build-essential zip curl /

zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs /

x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

 

    2.下载android-sdk(满地都是 ),按你开发平台的需要下载1.5/2.1/2.2/3.0,解压即可用。

    3.假设$SDK=/opt/android-sdk-version/, 则关键工具在$SDK/tools/ 下:android(sdk及工程管理) 、emulator(模拟器)和adb(调试和设备管理),不妨将此目录加入$PATH.
    4.管理android sdk工程
1)创建工程

#mkdir helloworld
#cd helloworld
#android create project --name HelloWorld --path ./ --package
my.helloworld --activity Helloworld --target anroid-2.2
或者简单点

#android create project -n HelloWorld -p ./ -k my.helloworld -a Helloworld -t 4
(可查看#android --help)
就此建立名为HelloWorld的工程

#ls
AndroidManifest.xml build.xml default.properties build.properties src/ bin/ gen/ libs/ res/ tests/

工程的主文件生成为src/my/helloworld/Helloword.java,例如:

 


要想更新工程,
#android update project -p ./
2)生成程序

所有能放到android 商店的程序都需签名(此处省去500字),开发时不用管。
#ant debug

若成功,则在 ./bin/文件夹下生成打包好的Helloworld-debug.apk文件。
3)运行程序

可以在设备(手机、平板)或模拟器运行的虚拟机上运行Android 程序

3.1)设备连接 将android 设备的”usb 设置“设为”仅充电“(charge only),在”设置-->开发“内选择"开启调试”。usb接入电脑后,运行
#adb devices
若成功识别则显示为
List of devices attached
MOTO xt800...等等
若显示No device detected,则仔细检查上面步骤。
3.2)创建和使用anroid 虚拟机

#anroid create avd -n Mydroid -t 4
也可以直接

#android

进入界面管理sdk和avd(android virtualdevices).

#emulator -avd Mydroid &
启动刚才创建的Android虚拟设备(实际是qemu 模拟出来的),会出现手机界面之类的。对其使用与物理设备相同的adb 命令进行管理。
3.3)安装运行程序

#adb install ../.../Myproject/helloworld/bin/Helloworld- debug.apk
成功后(失败的原因基本两个:1.已有,要先卸载 2.API版本不对)可以发现设备的程序库里多了个Helloworld,点击运行。
卸载的话:
#adb uninstall my.helloword (注意名称)

这就是基本SDK命令行配置开发的大致内容,相关工具:比如adb 的更多内容会在NDK使用中讲到。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值