This lesson shows how to create a new project either using Android Studio or using the SDK tools from a command line.
Note: You should already have the Android SDK installed, and if you're using Android Studio, you should also have Android Studio installed. If you don't have these, follow the guide to Installing the Android SDK before you start this lesson.
Figure 1. Configuring a new project in Android Studio.
Note: You should already have the Android SDK installed, and if you're using Android Studio, you should also have Android Studio installed. If you don't have these, follow the guide to Installing the Android SDK before you start this lesson.
Figure 1. Configuring a new project in Android Studio.
Create a Project with Android Studio
- If you don't have a project opened, in the Welcome screen, click New Project.
- If you have a project opened, from the File menu, select New Project.
- Under Configure your new project, fill in the fields as shown in figure 1 and click Next. It will probably be easier to follow these lessons if you use the same values as shown.
- Application Name is the app name that appears to users. For this project, use "My First App."
- Company domain provides a qualifier that will be appended to the package name; Android Studio will remember this qualifier for each new project you create.
- Package name is the fully qualified name for the project (following the same rules as those for naming packages in the Java programming language). Your package name must be unique across all packages installed on the Android system. You can Edit this value independently from the application name or the company domain.
- Project location is the directory on your system that holds the project files.
- Under Select the form factors your app will run on, check the box for Phone and Tablet.
- For Minimum SDK, select API 8: Android 2.2 (Froyo).The Minimum Required SDK is the earliest version of Android that your app supports, indicated using the API level. To support as many devices as possible, you should set this to the lowest version available that allows your app to provide its core feature set. If any feature of your app is possible only on newer versions of Android and it's not critical to the app's core feature set, you can enable the feature only when running on the versions that support it (as discussed in Supporting Different Platform Versions).
- Leave all of the other options (TV, Wear, and Glass) unchecked and click Next.
- Under Add an activity to <template>, select Blank Activity and click Next.
- Under Choose options for your new file, change the Activity Name to MyActivity. The Layout Name changes to activity_my, and the Title to MyActivity. The Menu Resource Name ismenu_my.
- Click the Finish button to create the project.
Your Android project is now a basic "Hello World" app that contains some default files. Take a moment to review the most important of these:
app/src/main/res/layout/activity_my.xml
- This is the XML layout file for the activity you added when you created the project with Android Studio. Following the New Project workflow, Android Studio presents this file with both a text view and a preview of the screen UI. The file includes some default settings and a
TextView
element that displays the message, "Hello world!" app/src/main/java/com.mycompany.myfirstapp/MyActivity.java
- A tab for this file appears in Android Studio when the New Project workflow finishes. When you select the file you see the class definition for the activity you created. When you build and run the app, the
Activity
class starts the activity and loads the layout file that says "Hello World!" app/src/main/AndroidManifest.xml
- The manifest file describes the fundamental characteristics of the app and defines each of its components. You'll revisit this file as you follow these lessons and add more components to your app.
app/build.gradle
- Android Studio uses Gradle to compile and build your app. There is a
build.gradle
file for each module of your project, as well as abuild.gradle
file for the entire project. Usually, you're only interested in thebuild.gradle
file for the module, in this case theapp
or application module. This is where your app's build dependencies are set, including thedefaultConfig
settings:compiledSdkVersion
is the platform version against which you will compile your app. By default, this is set to the latest version of Android available in your SDK. (It should be Android 4.1 or greater; if you don't have such a version available, you must install one using the SDK Manager.) You can still build your app to support older versions, but setting this to the latest version allows you to enable new features and optimize your app for a great user experience on the latest devices.applicationId
is the fully qualified package name for your application that you specified during the New Project workflow.minSdkVersion
is the Minimum SDK version you specified during the New Project workflow. This is the earliest version of the Android SDK that your app supports.targetSdkVersion
indicates the highest version of Android with which you have tested your application. As new versions of Android become available, you should test your app on the new version and update this value to match the latest API level and thereby take advantage of new platform features. For more information, read Supporting Different Platform Versions.
See Building Your Project with Gradle for more information about Gradle.
Note also the
/res
subdirectories that contain the resources for your application:drawable<density>/
- Directories for drawable objects (such as bitmaps) that are designed for various densities, such as medium-density (mdpi) and high-density (hdpi) screens. Other drawable directories contain assets designed for other screen densities. Here you'll find the ic_launcher.png that appears when you run the default app.
layout/
- Directory for files that define your app's user interface like activity_my.xml, discussed above, which describes a basic layout for the MyActivity class.
menu/
- Directory for files that define your app's menu items.
values/
- Directory for other XML files that contain a collection of resources, such as string and color definitions. The strings.xml file defines the "Hello world!" string that displays when you run the default app.
To run the app....
Create a Project with Command Line Tools
If you're not using the Android Studio IDE, you can instead create your project using the SDK tools from a command line:
- Change directories into the Android SDK’s
sdk/
path. - Execute:tools/android list targetsThis prints a list of the available Android platforms that you’ve downloaded for your SDK. Find the platform against which you want to compile your app. Make a note of the target ID. We recommend that you select the highest version possible. You can still build your app to support older versions, but setting the build target to the latest version allows you to optimize your app for the latest devices.If you don't see any targets listed, you need to install some using the Android SDK Manager tool. See Adding SDK Packages.
- Execute:
- android create project --target <target-id> --name MyFirstApp \
- --path <path-to-workspace>/MyFirstApp --activity MyActivity \
- --package com.example.myfirstapp
Replace<target-id>
with an ID from the list of targets (from the previous step) and replace<path-to-workspace>
with the location in which you want to save your Android projects.
Tip: Add theplatform-tools/
as well as thetools/
directory to yourPATH
environment variable.
Your Android project is now a basic "Hello World" app that contains some default files. To run the app, continue to the reading.
Running You App
Running You App
If you followed the previous lesson to create an Android project, it includes a default set of "Hello World" source files that allow you to immediately run the app.
How you run your app depends on two things: whether you have a real device running Android and whether you're using Android Studio. This lesson shows you how to install and run your app on a real device and on the Android emulator, and in both cases with either Android Studio or the command line tools.
Run on a Real Device
If you have a device running Android, here's how to install and run your app.
Set up your device
- Plug in your device to your development machine with a USB cable. If you're developing on Windows, you might need to install the appropriate USB driver for your device. For help installing drivers, see the OEM USB Drivers document.
- Enable USB debugging on your device.
-
- On most devices running Android 3.2 or older, you can find the option under Settings > Applications > Development.
- On Android 4.0 and newer, it's in Settings > Developer options.
Note: On Android 4.2 and newer, Developer options is hidden by default. To make it available, go toSettings > About phone and tap Build number seven times. Return to the previous screen to findDeveloper options.
Run the app from Android Studio
- Select one of your project's files and click Run from the toolbar.
- In the Choose Device window that appears, select the Choose a running device radio button, select your device, and click OK .
Android Studio installs the app on your connected device and starts it.
Run the app from a command line
Open a command-line and navigate to the root of your project directory. Use Gradle to build your project in debug mode, invoke the
assembleDebug
build task using the Gradle wrapper script (gradlew assembleRelease
).
This creates your debug
.apk
file inside the module build/
directory, named MyFirstApp-debug.apk
.
On Windows platforms, type this command:
> gradlew.bat assembleDebug
On Mac OS and Linux platforms, type these commands:
$ chmod +x gradlew
$ ./gradlew assembleDebug
After you build the project, the output APK for the app module is located in
app/build/outputs/apk/
Note: The first command (
Make sure the Android SDK
adb install app/build/outputs/MyFirstApp-debug.apk
chmod
)
adds the execution permission to the Gradle wrapper script and is only
necessary the first time you build this project from the command line.Make sure the Android SDK
platform-tools/
directory is included in your PATH
environment variable, then execute:adb install app/build/outputs/MyFirstApp-debug.apk
On your device, locate MyFirstApp and open it.
That's how you build and run your Android app on a device!
Run on the Emulator
Whether you're using Android Studio or the command line, to run your app on the emulator you need to first create an Android Virtual Device (AVD). An AVD is a device configuration for the Android emulator that allows you to model a specific device.
Create an AVD
Launch the Android Virtual Device Manager:
- In Android Studio, select Tools > Android > AVD Manager, or click the AVD Manager icon in the toolbar.
- Or, from the command line, change directories to
sdk/
and execute:
tools/android avd
Note: The AVD Manager that appears when launched from the command line is different from the version in Android Studio, so the following instructions may not all apply.
- On the AVD Manager main screen (figure 1), click Create Virtual Device.
- In the Select Hardware window, select a device configuration, such as Nexus 6, then click Next.
- Select the desired system version for the AVD and click Next.
- Verify the configuration settings, then click Finish.
- For more information about using AVDs, see Managing AVDs with AVD Manager.
Run the app from Android Studio
- In Android Studio, select your project and click Run from the toolbar.
- In the Choose Device window, click the Launch emulator radio button.
- From the Android virtual device pull-down menu, select the emulator you created, and click OK.
- It can take a few minutes for the emulator to load itself. You may have to unlock the screen. When you do, My First App appears on the emulator screen.
- Run your app from the command line
- Build the project from the command line. The output APK for the app module is located in
app/build/outputs/apk/
. - Make sure the Android SDK
platform-tools/
directory is included in yourPATH
environment variable.
adb install app/build/outputs/MyFirstApp-debug.apk - Execute this command:
- On the emulator, locate MyFirstApp and open it.
That's how you build and run your Android app on the emulator!