命令行下Android应用开发
本文介绍怎样创建你的第一个Android应用程序。您将学到怎样创建一个Androidproject和执行可调试版本号的应用程序。
開始本文学习之前。确保你已经安装了开发环境。你须要:
1、下载AndroidSDK。
2、使用SDKManager下载最新的SDK tools和platforms。
3、下载安装Ant。
Note:对于1和2,也能够直接下载安装ADT Bundle。
创建Androidproject
一个Androidproject包括了构建Android应用所须要的所有文件,使用Android SDK Tools能够非常easy地创建一个新的Androidproject,同一时候创建好project默认的文件夹和文件。
本小节介绍怎样使用SDKTools命令行来创建一个新的project。
打开命令行切换到SDK根文件夹/tools文件夹下。
运行
android list targets
会在屏幕上打印出全部你使用AndroidSDK下载好的可用platforms,找到你想要创建项目的目标platform,记录该platform相应的Id。推荐你使用最新的platform,能够使你的应用支持较老版本号的platform,同一时候同意你为最新的Android设备优化你的应用。
假设你没有看到不论什么可用的platform,你须要使用SDK Manager完毕下载安装。
AvailableAndroid targets:
----------
id:1 or "android-19"
Name: Android 4.4
Type: Platform
API level: 19
Revision: 1
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA,WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
ABIs : armeabi-v7a
运行
android create project --target <target-id> --name MyFirstApp \
--path<path-to-workspace>/MyFirstApp --activity MainActivity \
--packagecom.example.myfirstapp
替换<target-id>为上一步记录好的Id,替换<path-to-workspace>为你想要保存project的路径,到此为止,你的Androidproject已经是一个主要的“HelloWorld”程序。包括了一些默认的文件。
文件夹结构例如以下:
E:\workspace\workspace-android>tree/F MyFirstApp
卷
工作
的目录 PATH
列表
卷序列号码为00720064 000A:3345
E:\WORKSPACE\WORKSPACE-ANDROID\MYFIRSTAPP
│AndroidManifest.xml
│ant.properties
│build.xml
│local.properties
│proguard-project.txt
│project.properties
│
├─bin
├─libs
├─res
│
├─drawable-hdpi
│
│ ic_launcher.png
│
│
│
├─drawable-ldpi
│
│
ic_launcher.png
│
│
│
├─drawable-mdpi
│
│
ic_launcher.png
│
│
│
├─drawable-xhdpi
│
│
ic_launcher.png
│
│
│
├─layout
│
│
main.xml
│
│
│
└─values
│ strings.xml
│
└─src
└─com
└─example
└─myfirstapp
MainActivity.java
Note: 把platform-tools/和tools/加入到环境变量PATH,开发更方便。
编译执行Androd应用
通过上一节创建了一个Androidproject,project默认包括一系列源文件,它让您能够马上执行应用程序。
本节将会教你使用命令行在真实的android设备上安装而且执行你的应用。
在执行应用之前,你得认识项目里的几个文件和文件夹:
AndroidManifest.xml
manifest file 描写叙述了应用程序的基本特性而且定义了每个组件。
src/
这是存放应用的主要源码的目录,默认情况下,里面会包含一个Activity的类。这个类会在点击应用程序图标启动的时候执行。
res/
包括一些存放资源文件的文件夹,比如:
drawable-hdpi/
存放适用于HDPI屏幕的图片素材。同理其它类似目录存放适用于其它屏幕的图片素材。
layout/
存放定义用户界面的的文件。
values/
存放其它各种XML文件,也是全部资源的集合,比如字符串和颜色的定义。
当完毕该项目的编译和执行工作后,默认的Activity类启动并载入一个布局文件,界面显示"Hello World",这本身没有什么值得兴奋的。重要的是在你開始进行开发之前你学会了怎样执行一个Android应用。
假设你有一个真实的Android设备。下面的步骤能够使你在你的设备上安装和执行你的应用程序:
•把你的设备用USB线连接到计算机上。假设你是在windows系统上进行开发的。你可能还须要安装你设备相应的USB驱动,详见OEM USB Drivers文档。
•开启设备上的USB调试选项。
•在大部分执行Andriod3.2或更老版本号系统的设备上,这个选项位于“设置>应用程序>开发选项”里。
• 在Andriod4.0或更新版本号中,这个选项在“设置>开发者选项”里。
注意:从Android4.2開始,开发者选项在默认情况下是隐藏的,想让它可见,能够去“设置>关于手机(或者关于设备)”点击“版本”七次。再返回就能找到开发者选项了。
•命令行切换当前文件夹到Andriod项目的根文件夹,确保你已经安装了ant工具并将ant可运行文件所在文件夹的路径加入到Path环境变量中,运行:
ant debug
• 确保 AndroidSDK里的 platform-tools/ 路径已经加入到环境变量的Path中,运行:
adb install bin/MyFirstApp-debug.apk
•在你的Android设备中找到 MyFirstActivity,点击打开。
以上就是编译并在设备上执行一个应用的所有过程!
命令行下Android应用开发的更多相关文章
- Linux命令行下编译Android NDK的示例代码
这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用.所以花了点时间研究 Android ND ...
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...
- [Android] 基于 Linux 命令行构建 Android 应用(七):自动化构建
本章将演示如何基于 Linux 命令行构建 Android 应用,在开始本章之前,希望你已经阅读之前几章内容. 本文环境为 RHEL Sandiego 32-bits,要基于 Linux CLI 构建 ...
- [Android] 基于 Linux 命令行构建 Android 应用(二):命令行管理项目
创建 Android 项目 在命令行创建 Android 项目需要用到 android 工具(该工具由 Android SDK 提供,位于 <sdk>/tools/ 目录下.).它能自动生 ...
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...
- 打造一个全命令行的Android构建系统
IDE都是给小白程序员的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定” 这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命令 ...
- MySQL命令行下执行.sql脚本详解
本文主要介绍一个在MySQL命令行下执行脚本文件的例子,通过这个例子让我们来了解一下在命令行下MySQL是怎样执行脚本的吧.现在我们开始介绍这一过程. 1.首先编写sql脚本,保存为的:book.sq ...
- VS2015——命令行下编译、静态库动态库制作以及断点调试
c程序编译流程 程序的基本流程如图: 1. 预处理 预处理相当于根据预处理指令组装新的C/C++程序.经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的 ...
- windos命令行下的程序编写
1.命令行下写程序. 写程序一定要用IDE?不,我还可以用记事本呢.呵呵,写程序一定要用记事本?? ———————————————— 命令行下输入copy con test.txt后回车可在相应目录下 ...
随机推荐
- pytorch中Math operation操作:torch.ger()
torch.ger(vec1, vec2, out=None) → Tensor Outer product of vec1 and vec2. If vec1 is a vector of size ...
- LINQ-内部联接
一.简单键联接 下面的示例创建两个集合,其中包含两种用户定义类型 Person 和 Pet 的对象. 查询使用 C# 中的 join 子句将 Person 对象与 Owner 是该 Person 的 ...
- Quartz与Terracotta的集成
Quartz与Terracotta的集成 博客分类: Java&Socket 企业应用面临的问题 开源组件的应用 quartz任务集群数据库任务调度Terracotta Quartz与Ter ...
- 解开Future的神秘面纱之任务执行
此文承接之前的博文 解开Future的神秘面纱之取消任务 补充一些任务执行的一些细节,并从全局介绍程序的运行情况. 任务提交到执行的流程 前文我们已经了解到一些Future的实现细节,这里我们来梳理一 ...
- 算法复习——欧拉回路混合图(bzoj2095二分+网络流)
题目: Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛.现在YYD想骑单车 ...
- spring5响应式编程
1.Spring5新特性 2.响应式编程响应式编程:非阻塞应用程序,借助异步和事件驱动还有少量的线程垂直伸缩,而非横向伸缩(分布式集群)当Http连接缓慢的时候,从数据库到Http数据响应中也会 ...
- 陌上花开(bzoj 3262)
Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一朵花B要美丽,当 ...
- 【BZOJ3224】普通平衡树(splay)
题意: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排 ...
- POJ 2185 Milking Grid [二维KMP next数组]
传送门 直接转田神的了: Milking Grid Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 6665 Accept ...
- unity的List构造函数在IOS平台存在缺陷
当迩使用一个int[]或者string[]类似的数组时,以数组来初始化List对象,有可能在IOS平台上会出现初始化对象为空,比如 , }; List<int> listTest = ne ...