| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 1 | page.title=Creating an Android Project |
| 2 | parent.title=Building Your First App |
| 3 | parent.link=index.html |
| 4 | |
| 5 | trainingnavtop=true |
| 6 | next.title=Running Your App |
| 7 | next.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 Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 26 | <li><a href="{@docRoot}sdk/installing/index.html">Installing the |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 27 | SDK</a></li> |
| Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 28 | <li><a href="{@docRoot}tools/projects/index.html">Managing Projects</a></li> |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 29 | </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 |
| 36 | app. The Android SDK tools make it easy to start a new Android project with a set of |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 37 | default project directories and files.</p> |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 38 | |
| 39 | <p>This lesson |
| 40 | shows how to create a new project either using Eclipse (with the ADT plugin) or using the |
| 41 | SDK 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 Main | 0804b6d | 2012-07-24 15:51:27 -0700 | [diff] [blame^] | 44 | you're using Eclipse, you should also have the <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT |
| 45 | plugin</a> installed (version 20.0.0 or higher). If you don't have these, follow the guide to <a |
| 46 | href="{@docRoot}sdk/installing/index.html">Installing the Android SDK</a> before you start this |
| 47 | lesson.</p> |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 48 | |
| 49 | |
| 50 | <h2 id="Eclipse">Create a Project with Eclipse</h2> |
| 51 | |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 52 | <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 don’t see this button, |
| 57 | then you have not installed the ADT plugin—see <a |
| 58 | href="{@docRoot}sdk/installing/installing-adt.html">Installing the Eclipse Plugin</a>.) |
| 59 | </li> |
| 60 | |
| 61 | <div class="figure" style="width:420px"> |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 62 | <img src="{@docRoot}images/training/firstapp/adt-firstapp-setup.png" alt="" /> |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 63 | <p class="img-caption"><strong>Figure 1.</strong> The New Android App Project wizard in Eclipse.</p> |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 64 | </div> |
| 65 | |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 66 | <li>Fill in the form that appears: |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 67 | <ul> |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 68 | <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 Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 72 | rules as packages in the Java programming language). Your package name |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 73 | must be unique across all packages installed on the Android system. For this reason, it's generally |
| 74 | best if you use a name that begins with the reverse domain name of your organization or |
| 75 | publisher entity. For this project, you can use something like "com.example.myfirstapp." |
| 76 | However, 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 |
| 82 | support older versions, but setting the build target to the latest version allows you to |
| 83 | enable new features and optimize your app for a great user experience on the latest |
| 84 | devices.</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 Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 91 | </ul> |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 92 | <p>Click <strong>Next</strong>.</p> |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 93 | </li> |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 94 | |
| 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 Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 108 | </ol> |
| 109 | |
| 110 | <p>Your Android project is now set up with some default files and you’re ready to begin |
| 111 | building 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 Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 118 | using the SDK tools from a command line:</p> |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 119 | |
| 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 |
| 125 | the platform against which you want to compile your app. Make a note of the target id. We |
| 126 | recommend that you select the highest version possible. You can still build your app to |
| 127 | support older versions, but setting the build target to the latest version allows you to optimize |
| 128 | your app for the latest devices.</p> |
| 129 | <p>If you don't see any targets listed, you need to |
| 130 | install some using the Android SDK |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 131 | Manager tool. See <a href="{@docRoot}sdk/installing/adding-packages.html">Adding Platforms |
| 132 | and Packages</a>.</p></li> |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 133 | <li>Execute: |
| 134 | <pre class="no-pretty-print"> |
| 135 | android create project --target <target-id> --name MyFirstApp \ |
| Scott Main | 39871b7 | 2012-07-19 21:11:49 -0700 | [diff] [blame] | 136 | --path <path-to-workspace>/MyFirstApp --activity MainActivity \ |
| 137 | --package com.example.myfirstapp |
| Scott Main | 2d6faf9 | 2012-03-02 18:02:43 -0800 | [diff] [blame] | 138 | </pre> |
| 139 | <p>Replace <code><target-id></code> with an id from the list of targets (from the previous step) |
| 140 | and replace |
| 141 | <code><path-to-workspace></code> with the location in which you want to save your Android |
| 142 | projects.</p></li> |
| 143 | </ol> |
| 144 | |
| 145 | <p>Your Android project is now set up with several default configurations and you’re ready to begin |
| 146 | building 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 | |