首先,让我们安装Android SDK(我假设你已经安装了JDK和Ant)。你可以从在这里安装SDK到你的开发平台上。由于我使用的是Ubuntu,所以我下载Linux平台下的SDK到我的主目录。解压缩下载文件,并设置加载可执行文件的路径:
1 |
$ tar
xvf android-sdk_r16-linux.tgz
|
2 |
$ export
PATH=$PATH:~/android-sdk-linux/tools:~/reqs/android-sdk-linux/platform-tools
|
如果你不希望每次都设置PATH,你可以设置你的〜/.bashrc或〜/.bash_profile文件。
然后,使用Android SDK的命令打开Android SDK管理器。下载必要的SDK版本包。我打算开发姜饼和冰淇淋三明治系统手机的应用程序,因此下载Android 4.0.3(API 15)和Android 2.3.3(API 10)的组件。
让我们来检查是否安装了SDK版本包:
当开发应用程序的时候,我们需要创建一个Android虚拟机(AVD)来测试应用程序:
1 |
<span style= "font-size:14px;" >$ android avd</span>
|
通过上一步,你可以下载并创建许多AVD。
查看AVD列表,可以使用以下命令:
假设现在我们要在AVD上运行名字为"Gingerbread"的模拟器,使用下面命令:
1 |
$ emulator @Gingerbread |
现在我们已经基础设置好了开发Android应用程序的环境。
创建一个Android项目
让我们创建一个Android项目(要创建PhoneGap的Android项目,请阅读下一节):
1 |
$ android create project -n TestAndroidProj -t
'android-15' -p ~/android_proj -k com.example -a TestProjActivity
|
-n:项目名(TestAndroidProj);
-t:android SDK版本号(android-15);
-p:Android项目的路径;
-k:Java的包名;
-a:初始的Activity。
运行上面的命令后,一个Android项目就创建完成了。
检查一下目录及文件:
2 |
$ ls
src/com/example/TestProjActivity.java
|
3 |
src/com/example/TestProjActivity.java |
安装和创建PhoneGap的应用程序
如果你不打算创建HTML5的应用程序或不打算使用PhoneGap,你可以跳过这一节。
安装好Android SDK后,从这里获取Cordova(原名PhoneGap)(或从GitHub获取一个稳定的版本),并且添加bin目录到你的PATH:
2 |
$ export
PATH=$PATH:~/incubator-cordova-android/bin
|
让我们创建一个Cordova项目,这是将android项目进行套壳,需要设置PhoneGap的依赖(jar和js文件):
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')。
让我们来看看,如果该项目已成功创建:
1 |
$ cd
~/phonegap_android_proj/
|
3 |
cordova-1.5.0.js index.html main.js master.css |
7 |
cordova.xml plugins.xml |
Ant命令
假设现在,我们已经完成该项目的代码编写,我们需要在模拟器上测试。因此,先让我们启动模拟器,然后启动Android调试桥(ADB)。建议你用超级用户启动,因为如果以后用你的手机连接,它需要有必要的权限来访问:
1 |
$ sudo
~/android-sdk-linux/platform-tools/adb start-server
|
检查adb服务进程运行情况:
2 |
root 12589 0.0 0.0 20184 948 pts/3 Sl 16:43 0:00 adb fork-server server |
将应用程序部署到模拟器
在项目的根目录运行ant命令,部署应用程序到模拟器(用debug key进行签名):
2 |
$ ant clean debug install
|
当应用程序显示在模拟器上,你就可以测试了。如果你打算使用手机测试,同样可以使用上述相同的命令。
你可以使用的虚拟调试监视服务器(DDMS)调试和查看日志信息:
此时,只要你对开发的应用程序满意,你就可以进行签名,并把它发布到谷歌市场。
签名应用程序发布到市场
首先,让我们生成一个私钥用于签名:
1 |
$ keytool -genkey - v
-keystore app_signing.keystore - alias
release \
|
2 |
-keyalg RSA -keysize 2048 -validity 10000 |
JDK的 keytool 用于创建私钥。
-keystore:输出私钥文件的名称;
-alias:私钥别名,可存储多个键在密钥库用来后面使用;
设置RSA加密算法,密钥长度2048位和10000天的有效期。
确保生成的keystore文件非常安全,因为这谷歌市场对你的唯一标识。
成功生成私钥后,我们把应用程序编译成发布模式:
你会发现在你项目的bin目录下,有一个apk文件:<project_name>-release-unsigned.apk(在我们的例子中是'TestAndroidProj-release-unsigned.apk')。说明我们还没有对先前创建的私钥进行应用程序签名:
1 |
$ jarsigner -keystore app_signing.keystore -digestalg SHA1 -sigalg MD5withRSA bin/TestAndroidProj-release-unsigned.apk release |
使用jarsigner工具签名,keystore是先前创建的,同时指定签名算法,发布Android应用程序用了keystore的别名。
让我们来验证一下:
1 |
$ jarsigner -verify bin/TestAndroidProj-release-unsigned.apk |
你应该得到一个'jar verified' 的消息。
最后,让我们提交生成的apk文件到Google市场。
1 |
$ zipalign - v
4 bin/TestAndroidProj-release-unsigned.apk bin/TestAndroidProj.apk
|
'4'指定apk文件使用4字节;接下来的参数是签名后的应用文件;最后一个参数是输出上传到谷歌市场的文件。
这里唯一我们经常使用的命令是ant clean debug install,可以避免在Eclipse运行时内存不足。
注意:如果你是一个Emacs用户,你可以使用android-mode,它已经包含了上述命令,而且还带有其他好的东西。
相关推荐
使用 Flex SDK 创建您的第一个 AIR for Android 应用程序 第 6 章: 开发针对桌面的 AIR 应用程序 开发桌面 AIR 应用程序的工作流程 设置桌面应用程序属性 调试桌面 AIR 应用程序 对桌面 AIR 安装文件进行打包 ...
所以花了点时间研究Android NDK,网上的资料都是讲IDE里的编译方法,这里记录一下命令行下的编译方法,供有需要的朋友参考。 这里以编译hello-gl2为例: 0.安装Android NDK/SDK,设置PATH变量(根据具体情况调整) ...
下一节讨论构建 Android 应用程序所需的开发环境。 -------------------------------------------------------------------------------- 回页首 所需的工具 开始开发 Android 应用程序的最简捷的方式是下载 ...
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
为了使您轻松地遵循此处的“土耳其语基础Linux文档”的内容,已经开发了能够脱机工作的Web和android应用程序。 您可以使用应用程序从任何设备访问和跟踪所有文档内容,而不会受到干扰。 Android应用程式 除了当前的...
如果您是应用程序开发人员,则应从Android Studio的SDK Manager或 sdkmanager 命令行工具获取最新版本。这样可以确保使用其他Android SDK工具将工具保存到正确的位置并轻松更新。 但是,如果您只想要这些工具,可以...
在开发或打包时,请注意,此应用程序需要使用与Termux主应用程序相同的密钥签名才能获得工作许可(仅允许主Termux应用程序调用此应用程序中的API方法)。 安装 Termux:API应用程序可以从获得。 此外,我们为那些...
打开命令行并按照以下说明进行操作: ``` > gradlew.bat assembleDebug ``` 在 Mac OS X 和 Linux 上,打开终端并按照以下说明进行操作: $ chmod + x gradlew $ ./gradlew assembleDebug``` 注意:如果您拥有...
使用命令行工具和Android模拟器 - 第六章(1) 29 利用Windows CLI创建一个壳活动 - 第六章(2) 29 运行ActivityCreator.bat - 第六章(3) 30 项目结构 - 第六章(4) 32 在Windows CLI下创建Hello World!活动 - 第六章...
13.2.2 创建WAVE播放器Android应用程序 306 13.2.3 创建WAVE播放器主Activity 306 13.2.4 实现WAVE Aduio播放 310 13.3 运行WAVE Audio Player 327 13.4 小结 328 第14章 程序概要分析和NEON优化 329 14.1 用...
4.3.5 执行应用程序 4.3.6 剖析生成的代码 4.4 封装C语言代码 4.4.1 全局变量 4.4.2 常量 4.4.3 只读变量 4.4.4 枚举 4.4.5 结构体 4.4.6 指针 4.5 封装C++代码 4.5.1 指针、引用和值 4.5.2 默认参数 4.5.3 重载函数...
如果您是应用程序开发人员,则应从Android Studio的SDK Manager或 sdkmanager 命令行工具获取最新版本。这样可以确保使用其他Android SDK工具将工具保存到正确的位置并轻松更新。 但是,如果您只想要这些工具,可以...
它是一个跨平台的 C++ 应用程序开发框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发图形用户界面程序,也可用于开发非图形用户界面(比如命令行界面)程序。Qt 是完全面向对象的,很容易扩展,并且...
不管是开发原生iOS、Android应用,还是网页;不论是应用于服务器还是个人桌面,Haxe都 可以胜任。” Haxe分别为Windows、Mac OSX以及Linux安装程序进行打包,当然如果安装包出现问题或者洁癖者也可以进行手工安装。...
准备好为Android开发应用程序的 ! Linux用户,请此处 LAMW Manager安装以下工具和依赖项: Android NDK Android SDK 阿帕奇蚂蚁 Freepascal编译器 新增:构建FPC ARMv7 / Android 新增:构建FPC AARCH64 / ...
应用软件:word ,ppt,画图板,… 人机交互方式: 图形化界面 vs 命令行方式 应用程序 = 算法 + 数据结构 2.计算机语言的发展迭代史 第一代:机器语言 第二代:汇编语言 第三代:高级语言 面向过程:C,Pascal、...
我们所有的客户端应用程序(macOS、Windows、Linux、iOS 和 Android)都在这个存储库中积极开发。拜托,四处挖掘。警告 我们希望您阅读我们的源代码。但是 - 这个 repo 中的一些东西是探索性的,你从源代码构建的...
6. Android系统是基于Linux操作系统开发的手机系统,因此在进行刷机、删除系统自带软件时需要获得管理员账户( )的权限。 A.administrator B.admin C.root D.liveuser 7.已知当前系统umask的值为022,请问这时新建...
该存储库中正在积极开发我们所有的客户端应用程序(macOS,Windows,Linux,iOS和Android)。 请挖。警告事项我们希望您阅读我们的源代码。 但是-此回购中的某些内容是探索,而您从源代码构建的应用程序可能并没有...
更好的D&D 5e应用程序。 这个应用程式目前正在建设中,有关路线图的更多详细资料可以在找到。 要求 Android SDK 22(可以通过编辑pom.xml更改目标sdk) Maven版本3 Linux编译 必须设置ANDROID_HOME环境变量 还必须...