Linux 下使用命令行开发 Android 应用程序~~玩玩还行
2012-04-10 11:02
555 查看
本文将讲述如何在Linux平台下使用命令行开发Android应用程序,以及如何创建PhoneGap的android项目,如果你对这此感兴趣,请就继续阅读本文。
首先,让我们安装Android SDK(我假设你已经安装了JDK和Ant)。你可以从在这里安装SDK到你的开发平台上。由于我使用的是Ubuntu,所以我下载Linux平台下的SDK到我的主目录。解压缩下载文件,并设置加载可执行文件的路径:
view source
print?
如果你不希望每次都设置PATH,你可以设置你的〜/.bashrc或〜/.bash_profile文件。
然后,使用Android SDK的命令打开Android SDK管理器。下载必要的SDK版本包。我打算开发姜饼和冰淇淋三明治系统手机的应用程序,因此下载Android 4.0.3(API 15)和Android 2.3.3(API 10)的组件。
让我们来检查是否安装了SDK版本包:
view source
print?
当开发应用程序的时候,我们需要创建一个Android虚拟机(AVD)来测试应用程序:
view source
print?
通过上一步,你可以下载并创建许多AVD。
查看AVD列表,可以使用以下命令:
view source
print?
假设现在我们要在AVD上运行名字为"Gingerbread"的模拟器,使用下面命令:
view source
print?
现在我们已经基础设置好了开发Android应用程序的环境。
view source
print?
-n:项目名(TestAndroidProj);
-t:android SDK版本号(android-15);
-p:Android项目的路径;
-k:Java的包名;
-a:初始的Activity。
运行上面的命令后,一个Android项目就创建完成了。
检查一下目录及文件:
view source
print?
安装好Android SDK后,从这里获取Cordova(原名PhoneGap)(或从GitHub获取一个稳定的版本),并且添加bin目录到你的PATH:
view source
print?
让我们创建一个Cordova项目,这是将android项目进行套壳,需要设置PhoneGap的依赖(jar和js文件):
view source
print?
第一个参数是该项目的路径;
第二个是包名(JAVA);
第三是初始Activity的名字,它用于载入index.html;
第四个参数是Android SDK的ID(如'android 1.5'的id是'3')。
让我们来看看,如果该项目已成功创建:
view source
print?
view source
print?
检查adb服务进程运行情况:
view source
print?
view source
print?
当应用程序显示在模拟器上,你就可以测试了。如果你打算使用手机测试,同样可以使用上述相同的命令。
你可以使用的虚拟调试监视服务器(DDMS)调试和查看日志信息:
view source
print?
此时,只要你对开发的应用程序满意,你就可以进行签名,并把它发布到谷歌市场。
view source
print?
JDK的 keytool 用于创建私钥。
-keystore:输出私钥文件的名称;
-alias:私钥别名,可存储多个键在密钥库用来后面使用;
设置RSA加密算法,密钥长度2048位和10000天的有效期。
确保生成的keystore文件非常安全,因为这谷歌市场对你的唯一标识。
成功生成私钥后,我们把应用程序编译成发布模式:
view source
print?
你会发现在你项目的bin目录下,有一个apk文件:<project_name>-release-unsigned.apk(在我们的例子中是'TestAndroidProj-release-unsigned.apk')。说明我们还没有对先前创建的私钥进行应用程序签名:
view source
print?
使用jarsigner工具签名,keystore是先前创建的,同时指定签名算法,发布Android应用程序用了keystore的别名。
让我们来验证一下:
view source
print?
你应该得到一个'jar verified' 的消息。
最后,让我们提交生成的apk文件到Google市场。
view source
print?
'4'指定apk文件使用4字节;接下来的参数是签名后的应用文件;最后一个参数是输出上传到谷歌市场的文件。
这里唯一我们经常使用的命令是ant clean debug install,可以避免在Eclipse运行时内存不足。
注意:如果你是一个Emacs用户,你可以使用android-mode,它已经包含了上述命令,而且还带有其他好的东西。
原文链接,
OSChina.NET原创翻译
首先,让我们安装Android SDK(我假设你已经安装了JDK和Ant)。你可以从在这里安装SDK到你的开发平台上。由于我使用的是Ubuntu,所以我下载Linux平台下的SDK到我的主目录。解压缩下载文件,并设置加载可执行文件的路径:
view source
print?
1 | $ tar xvf android-sdk_r16-linux.tgz |
2 | $ export PATH=$PATH:~/android-sdk-linux/tools:~/reqs/android-sdk-linux/platform-tools |
3 | $android sdk |
如果你不希望每次都设置PATH,你可以设置你的〜/.bashrc或〜/.bash_profile文件。
然后,使用Android SDK的命令打开Android SDK管理器。下载必要的SDK版本包。我打算开发姜饼和冰淇淋三明治系统手机的应用程序,因此下载Android 4.0.3(API 15)和Android 2.3.3(API 10)的组件。
让我们来检查是否安装了SDK版本包:
view source
print?
1 | $android list targets |
view source
print?
1 | <span style= "font-size: 14px;" >$android avd</span> |
通过上一步,你可以下载并创建许多AVD。
查看AVD列表,可以使用以下命令:
view source
print?
1 | $android list avd |
view source
print?
1 | $emulator @Gingerbread |
现在我们已经基础设置好了开发Android应用程序的环境。
创建一个Android项目
让我们创建一个Android项目(要创建PhoneGap的Android项目,请阅读下一节):view source
print?
1 | $android create project -n TestAndroidProj -t 'android-15' -p ~/android_proj -k com.example -a TestProjActivity |
-t:android SDK版本号(android-15);
-p:Android项目的路径;
-k:Java的包名;
-a:初始的Activity。
运行上面的命令后,一个Android项目就创建完成了。
检查一下目录及文件:
view source
print?
1 | $ cd android_proj/ |
2 | $ ls src/com/example/TestProjActivity.java |
3 | src/com/example/TestProjActivity.java |
安装和创建PhoneGap的应用程序
如果你不打算创建HTML5的应用程序或不打算使用PhoneGap,你可以跳过这一节。安装好Android SDK后,从这里获取Cordova(原名PhoneGap)(或从GitHub获取一个稳定的版本),并且添加bin目录到你的PATH:
view source
print?
1 | $git clone git://git.apache.org/incubator-cordova-android.git |
2 | $ export PATH=$PATH:~/incubator-cordova-android/bin |
view source
print?
1 | $ cd ~/incubator-cordova-android |
2 | $./bin/create ~/phonegap_android_proj com.example TestProjActivity 3 |
第二个是包名(JAVA);
第三是初始Activity的名字,它用于载入index.html;
第四个参数是Android SDK的ID(如'android 1.5'的id是'3')。
让我们来看看,如果该项目已成功创建:
view source
print?
1 | $ cd ~/phonegap_android_proj/ |
2 | $ ls assets/www/ |
3 | cordova-1.5.0.js index.html main.js master.css |
4 | $ ls libs/ |
5 | cordova-1.5.0.jar |
6 | $ ls res/xml/ |
7 | cordova.xml plugins.xml |
Ant命令
假设现在,我们已经完成该项目的代码编写,我们需要在模拟器上测试。因此,先让我们启动模拟器,然后启动Android调试桥(ADB)。建议你用超级用户启动,因为如果以后用你的手机连接,它需要有必要的权限来访问:view source
print?
1 | $ sudo ~/android-sdk-linux/platform-tools/adb start-server |
view source
print?
1 | $ ps aux| grep adb |
2 | root 12589 0.0 0.0 20184 948 pts/3 Sl 16:43 0:00 adb fork-server server |
将应用程序部署到模拟器
在项目的根目录运行ant命令,部署应用程序到模拟器(用debug key进行签名):view source
print?
1 | $ cd ~/android_proj |
2 | $ant clean debug install |
你可以使用的虚拟调试监视服务器(DDMS)调试和查看日志信息:
view source
print?
1 | $ddms |
签名应用程序发布到市场
首先,让我们生成一个私钥用于签名:view source
print?
1 | $keytool -genkey - v -keystore app_signing.keystore - alias release \ |
2 | -keyalg RSA -keysize 2048 -validity 10000 |
-keystore:输出私钥文件的名称;
-alias:私钥别名,可存储多个键在密钥库用来后面使用;
设置RSA加密算法,密钥长度2048位和10000天的有效期。
确保生成的keystore文件非常安全,因为这谷歌市场对你的唯一标识。
成功生成私钥后,我们把应用程序编译成发布模式:
view source
print?
1 | $ant clean release |
view source
print?
1 | $jarsigner -keystore app_signing.keystore -digestalg SHA1 -sigalg MD5withRSA bin/TestAndroidProj-release-unsigned.apk release |
让我们来验证一下:
view source
print?
1 | $jarsigner -verify bin/TestAndroidProj-release-unsigned.apk |
最后,让我们提交生成的apk文件到Google市场。
view source
print?
1 | $zipalign - v 4 bin/TestAndroidProj-release-unsigned.apk bin/TestAndroidProj.apk |
这里唯一我们经常使用的命令是ant clean debug install,可以避免在Eclipse运行时内存不足。
注意:如果你是一个Emacs用户,你可以使用android-mode,它已经包含了上述命令,而且还带有其他好的东西。
原文链接,
OSChina.NET原创翻译
相关文章推荐
- Linux 下使用命令行开发 Android 应用程序
- Linux 下使用命令行开发 Android 应用程序
- Linux下使用命令行开发Android应用程序
- Linux 下使用命令行开发 Android 应用程序
- 〖Linux〗使用Qt5.2.0开发Android的NDK应用程序
- linux环境使用Eclipse开发Android应用程序时使用真机调试方式
- 使用jQuery Mobile和Phone Gap开发Android应用程序
- fcntl使用的例子 (源自 嵌入式Linux 应用程序开发详解)
- 使用命令行方式开发Android应用
- (android 源码下开发应用程序) 如何在 Android 各 level ( 包含 user space 與 kernel space ) 使用dump call stack的方法
- Linux 环境使用 Eclipse 搭建 Android 开发环境
- android开发过程中和linux使用的一些零碎笔记
- 使用jQuery Mobile和Phone Gap开发Android应用程序(转)
- 使用Xamarin插件和VS2010开发android应用程序(一)
- Android中使用logwrapper来重定向应用程序中的标准输出 _linux console_android init_abdroid stdout err重定向
- 使用命令行开发管理Android
- [使用Flex开发Android应用程序]文字版.pdf下载
- android开发教程之获取使用当前api的应用程序名称
- Android开发之sqlite3命令行简单使用方法
- 使用python开发android应用程序(4):使用WebView制作程序界面