Android 系列 1.5从命令行创建“Hello,World”应用程序
2017-01-05 14:35
447 查看
1.5从命令行创建“Hello,World”应用程序
问题
您想要创建一个新的Android项目,而不使用任何IDE或插件。
解
使用Android软件开发工具包(SDK)工具android与创建
项目参数和一些其他参数来配置项目。
讨论
除了作为平台的名称,android也是用于创建,更新和管理项目的命令行工具的名称。 您可以导航到android-sdk-nnn目录,或者您可以设置PATH变量以包括其tools子目录。
您可以选择以旧格式(默认格式)或“新建”基于Gradle格式创建项目。 我们先显示旧的方式,然后是Gradle方式。 要创建一个新项目,给命令android create project一些参数。 示例1-1是在Microsoft环境中的终端窗口中运行的示例。
实施例1-1。 创建新项目 - 旧格式
C:> PATH=%PATH%;"C:\Documents and Settings\Ian\My Documents\android-sdk-windows\tools"; \
"C:\Documents and Settings\Ian\My Documents\android-sdk-windows\platform-tools"
C:> android create project --target android-21 --package com.example.foo
--name Foo --activity HelloWorldActivity --path .\MyAndroid
Created project directory: C:\Documents and Settings\Ian\My Documents\MyAndroid
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\src\com\example\foo
Added file C:\Documents and Settings\Ian\My
Documents\MyAndroid\src\com\example\foo\HelloWorldActivity.java
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\bin
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\libs
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res\values
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\res\values\strings.xml
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res\layout
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\res\layout\main.xml
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\AndroidManifest.xml
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\build.xml
C:>
On Unix or Mac OS X we could use something like the following:
/Users/ian/android-sdk-macosx/tools/android create project --target android-21 \
--package com.example.foo \
--name Foo --activity HelloWorldActivity --path MyAndroid
Table 1-3 lists the arguments for the create project code.
Table 1-3. List of create project arguments
Name Meaning Example
--activity Name of your “main class” and default name for the generated .apk
file.
--activity
HelloWorldActivity
--name Name of the project and the generated .apk file. --name MyProject
--package Name of the Java package for your classes. --package
com.example.hello
--path Path to create the project in (does not create a subdirectory under
this, so don’t use /home/you/workspace , but rather /
home/you/workspace/NewProjectName ).
--path /home/ian/
workspace/MyProject (see
above for Windows example)
--target API level of the Android platform to target; use android list
targets to see list of targets. A number is an “ID,” not an API
level; for that, use android- with the API level you want.
--target android-10
--gradle Use Gradle format (requires --gradle-version ) --gradle
--gradle-
version
Version of Gradle plug-in to use --gradle
如果它不能完成请求的操作,android命令提供一个庞大的“命令用法”消息列出所有可以做的操作和它们的参数。 如果成功,android create project命令将创建表1-4中列出的文件和目录。
表1-4。 通过创建项目创建的工件
如果我们使用两个Gradle相关的参数,我们得到一个稍微不同的项目结构,如例1-2所示。
实施例1-2。 项目创建 - Gradle格式
$ /Users/ian/android-sdk-macosx/tools/android create project \
--target android-23 --package com.example.foo \
--gradle --gradle-version 2.0.0 \
--name Foo --activity HelloWorldActivity --path HelloGradle
Created project directory: HelloGradle
Created directory /home/ian/HelloGradle/src/main/java
Created directory /home/ian/HelloGradle/src/main/java/com/example/foo
Added file HelloGradle/src/main/java/com/example/foo/HelloWorldActivity.java
Created directory /home/ian/HelloGradle/src/androidTest/java
Created directory /home/ian/HelloGradle/src/androidTest/java/com/example/foo
Added file HelloGradle/src/androidTest/java/com/example/foo/HelloWorldActivityTest.java
Created directory /home/ian/HelloGradle/src/main/res
Created directory /home/ian/HelloGradle/src/main/res/values
Added file HelloGradle/src/main/res/values/strings.xml
Created directory /home/ian/HelloGradle/src/main/res/layout
Added file HelloGradle/src/main/res/layout/main.xml
Created directory /home/ian/HelloGradle/src/main/res/drawable-xhdpi
Created directory /home/ian/HelloGradle/src/main/res/drawable-hdpi
Created directory /home/ian/HelloGradle/src/main/res/drawable-mdpi
Created directory /home/ian/HelloGradle/src/main/res/drawable-ldpi
Added file HelloGradle/src/main/AndroidManifest.xml
Added file HelloGradle/build.gradle
Created directory /home/ian/HelloGradle/gradle/wrapper
$
这是一个正常的和推荐的Android做法,使用在res / layout下创建的布局文件在XML中创建用户界面,但是肯定可以编写所有的Java代码。 为了保持这个例子自足,我们现在就做“错误”的方式。 使用您喜欢的文本编辑器替换文件HelloWorld.java的内容与示例1-3的内容。
实施例1-3。 HelloWorld.java
import android.app.Activity;
import android.widget.*;
public class HelloWorld extends Activity {
/**
* This method gets invoked when the activity is instantiated in
* response to e.g., you clicked on the app's Icon in the Home Screen.
* Reminder: this is NOT a best-practices way of creating the UI!
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create a TextView for the current Activity
TextView view = new TextView(this);
// Make it say something
view.setText("Hello World");
// Put this newly created view into the Activity,
// sort of like JFrame.getContentPane().add(view)
setContentView(view);
}
}
尽管Google已经从Eclipse迁移到使用Gradle构建工具的Android Studio,但是默认情况下,生成的项目的命令行版本仍然使用Ant构建工具。 假设您安装了Apache Software Foundation Ant构建工具(并且它包含在最新版本的Android SDK中),您现在可以(在命令行窗口中)切换到项目目录(... MyDocuments \ MyAndroid) 1)并发出命令:
蚂蚁调试
这将在bin目录中创建一个名为,例如MyAndroid.apk(“apk”代表Android包)的归档文件。
如果您使用Gradle版本,您可以改为输入
gradlew build
你第一次运行这个,你可以订购一个特斯拉Model 3,或去散步到最近的咖啡馆,或阅读Moby Dick,而你在等待Gradle自我启动。但它应该工作。如果没有,在这本书的GitHub仓库中使用HelloGradle项目。
如果这是您第一次在这里,您可能需要创建一个Android虚拟设备(AVD),这只是一个命名的配置Android模拟器指定的目标分辨率,API级别,等等。您可以使用以下命令创建仿真器:
android创建avd -n my_droid -t 21
-t的参数是目标API级别;参见配方1.3。有关创建AVD的更多详细信息,请参阅配方3.1。
然后,您可以启动Android Debug Bridge(ADB)服务器进行通信,并启动模拟器:
adb start-server
emulator -avd my_droid -t 19
假设你现在有模拟器运行或你的设备插入并通过USB识别,你可以发出类似以下命令,取决于你上面构建什么。如果同时具有仿真器和实际设备,请在emb命令和install操作之间添加-e for emulator或-d的参数。
adb install -r bin / HelloAndroid.apk#Ant build
-要么-
adb install -r target / HelloAndroid-1.0-SNAPSHOT-debug.apk#Maven build
-要么-
adb install -r build / outputs / apk / HelloAndroid-debug.apk#Gradle build
如果你对shell脚本或批处理文件很方便,你可能需要创建一个称为下载,以避免在每个构建周期中键入adb调用。
最后你可以启动你的应用程序!您可以使用应用程序列表:点击看起来像5×5行点的小图标,按名称滚动到您的应用程序,然后点击其图标。
您可能会发现在设备或模拟器的主屏幕上为您的应用程序创建图标很方便;这个图标将会存活多个安装-r周期,只要你不卸载,所以它是测试运行应用程序的最简单的方法。
问题
您想要创建一个新的Android项目,而不使用任何IDE或插件。
解
使用Android软件开发工具包(SDK)工具android与创建
项目参数和一些其他参数来配置项目。
讨论
除了作为平台的名称,android也是用于创建,更新和管理项目的命令行工具的名称。 您可以导航到android-sdk-nnn目录,或者您可以设置PATH变量以包括其tools子目录。
您可以选择以旧格式(默认格式)或“新建”基于Gradle格式创建项目。 我们先显示旧的方式,然后是Gradle方式。 要创建一个新项目,给命令android create project一些参数。 示例1-1是在Microsoft环境中的终端窗口中运行的示例。
实施例1-1。 创建新项目 - 旧格式
C:> PATH=%PATH%;"C:\Documents and Settings\Ian\My Documents\android-sdk-windows\tools"; \
"C:\Documents and Settings\Ian\My Documents\android-sdk-windows\platform-tools"
C:> android create project --target android-21 --package com.example.foo
--name Foo --activity HelloWorldActivity --path .\MyAndroid
Created project directory: C:\Documents and Settings\Ian\My Documents\MyAndroid
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\src\com\example\foo
Added file C:\Documents and Settings\Ian\My
Documents\MyAndroid\src\com\example\foo\HelloWorldActivity.java
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\bin
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\libs
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res\values
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\res\values\strings.xml
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res\layout
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\res\layout\main.xml
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\AndroidManifest.xml
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\build.xml
C:>
On Unix or Mac OS X we could use something like the following:
/Users/ian/android-sdk-macosx/tools/android create project --target android-21 \
--package com.example.foo \
--name Foo --activity HelloWorldActivity --path MyAndroid
Table 1-3 lists the arguments for the create project code.
Table 1-3. List of create project arguments
Name Meaning Example
--activity Name of your “main class” and default name for the generated .apk
file.
--activity
HelloWorldActivity
--name Name of the project and the generated .apk file. --name MyProject
--package Name of the Java package for your classes. --package
com.example.hello
--path Path to create the project in (does not create a subdirectory under
this, so don’t use /home/you/workspace , but rather /
home/you/workspace/NewProjectName ).
--path /home/ian/
workspace/MyProject (see
above for Windows example)
--target API level of the Android platform to target; use android list
targets to see list of targets. A number is an “ID,” not an API
level; for that, use android- with the API level you want.
--target android-10
--gradle Use Gradle format (requires --gradle-version ) --gradle
--gradle-
version
Version of Gradle plug-in to use --gradle
如果它不能完成请求的操作,android命令提供一个庞大的“命令用法”消息列出所有可以做的操作和它们的参数。 如果成功,android create project命令将创建表1-4中列出的文件和目录。
表1-4。 通过创建项目创建的工件
如果我们使用两个Gradle相关的参数,我们得到一个稍微不同的项目结构,如例1-2所示。
实施例1-2。 项目创建 - Gradle格式
$ /Users/ian/android-sdk-macosx/tools/android create project \
--target android-23 --package com.example.foo \
--gradle --gradle-version 2.0.0 \
--name Foo --activity HelloWorldActivity --path HelloGradle
Created project directory: HelloGradle
Created directory /home/ian/HelloGradle/src/main/java
Created directory /home/ian/HelloGradle/src/main/java/com/example/foo
Added file HelloGradle/src/main/java/com/example/foo/HelloWorldActivity.java
Created directory /home/ian/HelloGradle/src/androidTest/java
Created directory /home/ian/HelloGradle/src/androidTest/java/com/example/foo
Added file HelloGradle/src/androidTest/java/com/example/foo/HelloWorldActivityTest.java
Created directory /home/ian/HelloGradle/src/main/res
Created directory /home/ian/HelloGradle/src/main/res/values
Added file HelloGradle/src/main/res/values/strings.xml
Created directory /home/ian/HelloGradle/src/main/res/layout
Added file HelloGradle/src/main/res/layout/main.xml
Created directory /home/ian/HelloGradle/src/main/res/drawable-xhdpi
Created directory /home/ian/HelloGradle/src/main/res/drawable-hdpi
Created directory /home/ian/HelloGradle/src/main/res/drawable-mdpi
Created directory /home/ian/HelloGradle/src/main/res/drawable-ldpi
Added file HelloGradle/src/main/AndroidManifest.xml
Added file HelloGradle/build.gradle
Created directory /home/ian/HelloGradle/gradle/wrapper
$
这是一个正常的和推荐的Android做法,使用在res / layout下创建的布局文件在XML中创建用户界面,但是肯定可以编写所有的Java代码。 为了保持这个例子自足,我们现在就做“错误”的方式。 使用您喜欢的文本编辑器替换文件HelloWorld.java的内容与示例1-3的内容。
实施例1-3。 HelloWorld.java
import android.app.Activity;
import android.widget.*;
public class HelloWorld extends Activity {
/**
* This method gets invoked when the activity is instantiated in
* response to e.g., you clicked on the app's Icon in the Home Screen.
* Reminder: this is NOT a best-practices way of creating the UI!
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create a TextView for the current Activity
TextView view = new TextView(this);
// Make it say something
view.setText("Hello World");
// Put this newly created view into the Activity,
// sort of like JFrame.getContentPane().add(view)
setContentView(view);
}
}
尽管Google已经从Eclipse迁移到使用Gradle构建工具的Android Studio,但是默认情况下,生成的项目的命令行版本仍然使用Ant构建工具。 假设您安装了Apache Software Foundation Ant构建工具(并且它包含在最新版本的Android SDK中),您现在可以(在命令行窗口中)切换到项目目录(... MyDocuments \ MyAndroid) 1)并发出命令:
蚂蚁调试
这将在bin目录中创建一个名为,例如MyAndroid.apk(“apk”代表Android包)的归档文件。
如果您使用Gradle版本,您可以改为输入
gradlew build
你第一次运行这个,你可以订购一个特斯拉Model 3,或去散步到最近的咖啡馆,或阅读Moby Dick,而你在等待Gradle自我启动。但它应该工作。如果没有,在这本书的GitHub仓库中使用HelloGradle项目。
如果这是您第一次在这里,您可能需要创建一个Android虚拟设备(AVD),这只是一个命名的配置Android模拟器指定的目标分辨率,API级别,等等。您可以使用以下命令创建仿真器:
android创建avd -n my_droid -t 21
-t的参数是目标API级别;参见配方1.3。有关创建AVD的更多详细信息,请参阅配方3.1。
然后,您可以启动Android Debug Bridge(ADB)服务器进行通信,并启动模拟器:
adb start-server
emulator -avd my_droid -t 19
假设你现在有模拟器运行或你的设备插入并通过USB识别,你可以发出类似以下命令,取决于你上面构建什么。如果同时具有仿真器和实际设备,请在emb命令和install操作之间添加-e for emulator或-d的参数。
adb install -r bin / HelloAndroid.apk#Ant build
-要么-
adb install -r target / HelloAndroid-1.0-SNAPSHOT-debug.apk#Maven build
-要么-
adb install -r build / outputs / apk / HelloAndroid-debug.apk#Gradle build
如果你对shell脚本或批处理文件很方便,你可能需要创建一个称为下载,以避免在每个构建周期中键入adb调用。
最后你可以启动你的应用程序!您可以使用应用程序列表:点击看起来像5×5行点的小图标,按名称滚动到您的应用程序,然后点击其图标。
您可能会发现在设备或模拟器的主屏幕上为您的应用程序创建图标很方便;这个图标将会存活多个安装-r周期,只要你不卸载,所以它是测试运行应用程序的最简单的方法。
相关文章推荐
- Android 系列 1.6使用Apache Maven创建“Hello,World”应用程序
- android app小白试水1-app的创建和hello,world
- Android 系列 6.32创建一个简单的应用程序小部件widget
- Google Android开发者文档系列-创建有内容分享特性的应用之发送简单数据到其它应用程序
- Java系列--第二篇 基于Maven的Android开发HelloAndroidWorld
- Android 系列 4.9使用线程创建响应式应用程序
- 【JavaSE系列-入门篇4】——使用命令行创建Hello World应用程序
- 我的Android 4 学习系列之创建应用程序和Activity:Manifest、Application、Activity
- Google Android开发者文档系列-创建有内容分享特性的应用之接收其它应用程序发送的简单数据
- 命令行方式创建和编译android应用程序
- 『原创』用C++开发WM应用系列(1)——"Hello World" Pro!(下)
- MapGuide应用开发系列(11)----创建自己的第一个MapGuide应用程序
- [记在小本上] android 1.5 创建新的avd, 和使用此avd launch emulator
- Android自动测试之通过命令行启动应用程序
- Android入门—— Hello, world
- 打造一个Hello World OSGi Web应用程序
- 在Android1.5应用程序开发过程中使用JUnit
- 1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记
- Android的应用程序结构分析:HelloActivity 第二部分【转】
- Visual Studio 2008开发新特性系列课程(10):使用Visual Studio 2008和.NET Compact Framework 3.5创建Mobile应用程序