blob: 2ea8b2f841467de2d5dc45ba942fac4036db4e55 [file] [log] [blame]
Scott Main2d6faf92012-03-02 18:02:43 -08001page.title=Creating an Android Project
2parent.title=Building Your First App
3parent.link=index.html
4
5trainingnavtop=true
6next.title=Running Your App
7next.link=running-app.html
8
9@jd:body
10
11
12<!-- This is the training bar -->
13<div id="tb-wrapper">
14<div id="tb">
15
16<h2>This lesson teaches you to</h2>
17
18<ol>
19 <li><a href="#Eclipse">Create a Project with Eclipse</a></li>
20 <li><a href="#CommandLine">Create a Project with Command Line Tools</a></li>
21</ol>
22
23<h2>You should also read</h2>
24
25<ul>
Scott Main50e990c2012-06-21 17:14:39 -070026 <li><a href="{@docRoot}sdk/installing/index.html">Installing the
Scott Main2d6faf92012-03-02 18:02:43 -080027SDK</a></li>
Scott Main50e990c2012-06-21 17:14:39 -070028 <li><a href="{@docRoot}tools/projects/index.html">Managing Projects</a></li>
Scott Main2d6faf92012-03-02 18:02:43 -080029</ul>
30
31
32</div>
33</div>
34
35<p>An Android project contains all the files that comprise the source code for your Android
36app. The Android SDK tools make it easy to start a new Android project with a set of
Scott Main39871b72012-07-19 21:11:49 -070037default project directories and files.</p>
Scott Main2d6faf92012-03-02 18:02:43 -080038
39<p>This lesson
40shows how to create a new project either using Eclipse (with the ADT plugin) or using the
41SDK tools from a command line.</p>
42
43<p class="note"><strong>Note:</strong> You should already have the Android SDK installed, and if
Scott Main0804b6d2012-07-24 15:51:27 -070044you're using Eclipse, you should also have the <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT
45plugin</a> installed (version 20.0.0 or higher). If you don't have these, follow the guide to <a
46href="{@docRoot}sdk/installing/index.html">Installing the Android SDK</a> before you start this
47lesson.</p>
Scott Main2d6faf92012-03-02 18:02:43 -080048
49
50<h2 id="Eclipse">Create a Project with Eclipse</h2>
51
Scott Main39871b72012-07-19 21:11:49 -070052<ol>
53 <li>In Eclipse, click New Android
54 App Project <img src="{@docRoot}images/tools/new_adt_project.png"
55 style="vertical-align:baseline;margin:0" />
56 in the toolbar. (If you dont see this button,
57then you have not installed the ADT plugin&mdash;see <a
58href="{@docRoot}sdk/installing/installing-adt.html">Installing the Eclipse Plugin</a>.)
59 </li>
60
61<div class="figure" style="width:420px">
Scott Main2d6faf92012-03-02 18:02:43 -080062<img src="{@docRoot}images/training/firstapp/adt-firstapp-setup.png" alt="" />
Scott Main39871b72012-07-19 21:11:49 -070063<p class="img-caption"><strong>Figure 1.</strong> The New Android App Project wizard in Eclipse.</p>
Scott Main2d6faf92012-03-02 18:02:43 -080064</div>
65
Scott Main39871b72012-07-19 21:11:49 -070066 <li>Fill in the form that appears:
Scott Main2d6faf92012-03-02 18:02:43 -080067 <ul>
Scott Main39871b72012-07-19 21:11:49 -070068 <li><em>Application Name</em> is the app name that appears to users.
69 For this project, use "My First App."</p></li>
70 <li><em>Project Name</em> is the name of your project directory and the name visible in Eclipse.</li>
71 <li><em>Package Name</em> is the package namespace for your app (following the same
Scott Main2d6faf92012-03-02 18:02:43 -080072rules as packages in the Java programming language). Your package name
Scott Main39871b72012-07-19 21:11:49 -070073must be unique across all packages installed on the Android system. For this reason, it's generally
74best if you use a name that begins with the reverse domain name of your organization or
75publisher entity. For this project, you can use something like "com.example.myfirstapp."
76However, you cannot publish your app on Google Play using the "com.example" namespace.</li>
77 <li><em>Build SDK</em> is the platform version against which you will compile your app.
78 By default, this is set to the latest version of Android available in your SDK. (It should
79 be Android 4.1 or greater; if you don't have such a version available, you must install one
80 using the <a href="{@docRoot}sdk/installing/adding-packages.html">SDK Manager</a>).
81 You can still build your app to
82support older versions, but setting the build target to the latest version allows you to
83enable new features and optimize your app for a great user experience on the latest
84devices.</li>
85 <li><em>Minimum Required SDK</em> is the lowest version of Android that your app supports.
86 To support as many devices as possible, you should set this to the lowest version available
87 that allows your app to provide its core feature set. If any feature of your app is possible
88 only on newer versions of Android and it's not critical to the app's core feature set, you
89 can enable the feature only when running on the versions that support it.
90 <p>Leave this set to the default value for this project.</p>
Scott Main2d6faf92012-03-02 18:02:43 -080091 </ul>
Scott Main39871b72012-07-19 21:11:49 -070092 <p>Click <strong>Next</strong>.</p>
Scott Main2d6faf92012-03-02 18:02:43 -080093 </li>
Scott Main39871b72012-07-19 21:11:49 -070094
95 <li>The following screen provides tools to help you create a launcher icon for your app.
96 <p>You can customize an icon in several ways and the tool generates an icon for all
97 screen densities. Before you publish your app, you should be sure your icon meets
98 the specifications defined in the <a
99 href="{@docRoot}design/style/iconography.html">Iconography</a>
100 design guide.</p>
101 <p>Click <strong>Next</strong>.</p>
102 </li>
103 <li>Now you can select an activity template from which to begin building your app.
104 <p>For this project, select <strong>BlankActivity</strong> and click <strong>Next</strong>.</p>
105 </li>
106 <li>Leave all the details for the activity in their default state and click
107 <strong>Finish</strong>.</li>
Scott Main2d6faf92012-03-02 18:02:43 -0800108</ol>
109
110<p>Your Android project is now set up with some default files and youre ready to begin
111building the app. Continue to the <a href="running-app.html">next lesson</a>.</p>
112
113
114
115<h2 id="CommandLine">Create a Project with Command Line Tools</h2>
116
117<p>If you're not using the Eclipse IDE with the ADT plugin, you can instead create your project
Scott Main39871b72012-07-19 21:11:49 -0700118using the SDK tools from a command line:</p>
Scott Main2d6faf92012-03-02 18:02:43 -0800119
120<ol>
121 <li>Change directories into the Android SDK’s <code>tools/</code> path.</li>
122 <li>Execute:
123<pre class="no-pretty-print">android list targets</pre>
124<p>This prints a list of the available Android platforms that you’ve downloaded for your SDK. Find
125the platform against which you want to compile your app. Make a note of the target id. We
126recommend that you select the highest version possible. You can still build your app to
127support older versions, but setting the build target to the latest version allows you to optimize
128your app for the latest devices.</p>
129<p>If you don't see any targets listed, you need to
130install some using the Android SDK
Scott Main39871b72012-07-19 21:11:49 -0700131Manager tool. See <a href="{@docRoot}sdk/installing/adding-packages.html">Adding Platforms
132 and Packages</a>.</p></li>
Scott Main2d6faf92012-03-02 18:02:43 -0800133 <li>Execute:
134<pre class="no-pretty-print">
135android create project --target &lt;target-id> --name MyFirstApp \
Scott Main39871b72012-07-19 21:11:49 -0700136--path &lt;path-to-workspace>/MyFirstApp --activity MainActivity \
137--package com.example.myfirstapp
Scott Main2d6faf92012-03-02 18:02:43 -0800138</pre>
139<p>Replace <code>&lt;target-id></code> with an id from the list of targets (from the previous step)
140and replace
141<code>&lt;path-to-workspace></code> with the location in which you want to save your Android
142projects.</p></li>
143</ol>
144
145<p>Your Android project is now set up with several default configurations and youre ready to begin
146building the app. Continue to the <a href="running-app.html">next lesson</a>.</p>
147
148<p class="note"><strong>Tip:</strong> Add the <code>platform-tools/</code> as well as the
149<code>tools/</code> directory to your <code>PATH</code> environment variable.</p>
150
151
152
153