Home | History | Annotate | Download | only in firstapp
      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>
     26   <li><a href="{@docRoot}sdk/installing/index.html">Installing the
     27 SDK</a></li>
     28   <li><a href="{@docRoot}tools/projects/index.html">Managing Projects</a></li>
     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
     37 default project directories and files.</p>
     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
     44 you're using Eclipse, you should also have the <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT
     45 plugin</a> installed (version 21.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>
     48 
     49 
     50 <h2 id="Eclipse">Create a Project with Eclipse</h2>
     51 
     52 <ol>
     53   <li>Click <strong>New</strong> <img src="{@docRoot}images/tools/eclipse-new.png" 
     54   style="vertical-align:baseline;margin:0" /> in the toolbar.</li>
     55   <li>In the window that appears, open the <strong>Android</strong> folder,
     56   select <strong>Android Application Project</strong>, and click <strong>Next</strong>.</li>
     57 
     58 <div class="figure" style="width:420px">
     59 <img src="{@docRoot}images/training/firstapp/adt-firstapp-setup.png" alt="" />
     60 <p class="img-caption"><strong>Figure 1.</strong> The New Android App Project wizard in Eclipse.</p>
     61 </div>
     62 
     63   <li>Fill in the form that appears:
     64     <ul>
     65       <li><strong>Application Name</strong> is the app name that appears to users.
     66           For this project, use "My First App."</p></li>
     67       <li><strong>Project Name</strong> is the name of your project directory and the name visible in Eclipse.</li>
     68       <li><strong>Package Name</strong> is the package namespace for your app (following the same
     69 rules as packages in the Java programming language). Your package name
     70 must be unique across all packages installed on the Android system. For this reason, it's generally
     71 best if you use a name that begins with the reverse domain name of your organization or
     72 publisher entity. For this project, you can use something like "com.example.myfirstapp."
     73 However, you cannot publish your app on Google Play using the "com.example" namespace.</li>
     74       <li><strong>Minimum Required SDK</strong> is the lowest version of Android that your app supports,
     75       indicated using the <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels"
     76       >API level</a>.
     77         To support as many devices as possible, you should set this to the lowest version available
     78         that allows your app to provide its core feature set. If any feature of your app is possible
     79         only on newer versions of Android and it's not critical to the app's core feature set, you
     80         can enable the feature only when running on the versions that support it (as
     81         discussed in <a href="{@docRoot}training/basics/supporting-devices/platforms.html"
     82         >Supporting Different Platform Versions</a>).
     83         Leave this set to the default value for this project.
     84       </li>
     85       <li><strong>Target SDK</strong> indicates the highest version of Android (also using the
     86       <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels"
     87       >API level</a>) with which you
     88       have tested with your application.
     89         <p>As new versions of Android become available, you should
     90       test your app on the new version and update this value to match the latest API level
     91       in order to take advantage of new platform features.</p>
     92       </li>
     93       <li><strong>Compile With</strong> is the platform version against which you will compile your app.
     94         By default, this is set to the latest version of Android available in your SDK. (It should
     95         be Android 4.1 or greater; if you don't have such a version available, you must install one
     96         using the <a href="{@docRoot}sdk/installing/adding-packages.html">SDK Manager</a>).
     97         You can still build your app to
     98 support older versions, but setting the build target to the latest version allows you to
     99 enable new features and optimize your app for a great user experience on the latest
    100 devices.</li>
    101        <li><strong>Theme</strong> specifies the Android UI style to apply for your app. You can leave
    102        this alone.</li>
    103     </ul>
    104     <p>Click <strong>Next</strong>.</p>
    105   </li>
    106   <li>On the next screen to configure the project, leave the default selections and click
    107   <strong>Next</strong>.</li>
    108   <li>The next screen can help you create a launcher icon for your app.
    109     <p>You can customize an icon in several ways and the tool generates an icon for all
    110     screen densities. Before you publish your app, you should be sure your icon meets
    111     the specifications defined in the <a
    112     href="{@docRoot}design/style/iconography.html">Iconography</a>
    113     design guide.</p>
    114     <p>Click <strong>Next</strong>.</p>
    115   </li>
    116   <li>Now you can select an activity template from which to begin building your app.
    117     <p>For this project, select <strong>BlankActivity</strong> and click <strong>Next</strong>.</p>
    118   </li>
    119   <li>Leave all the details for the activity in their default state and click 
    120     <strong>Finish</strong>.</li>
    121 </ol>
    122 
    123 <p>Your Android project is now set up with some default files and youre ready to begin
    124 building the app. Continue to the <a href="running-app.html">next lesson</a>.</p>
    125 
    126 
    127 
    128 <h2 id="CommandLine">Create a Project with Command Line Tools</h2>
    129 
    130 <p>If you're not using the Eclipse IDE with the ADT plugin, you can instead create your project
    131 using the SDK tools from a command line:</p>
    132 
    133 <ol>
    134   <li>Change directories into the Android SDKs <code>tools/</code> path.</li>
    135   <li>Execute:
    136 <pre class="no-pretty-print">android list targets</pre>
    137 <p>This prints a list of the available Android platforms that youve downloaded for your SDK. Find
    138 the platform against which you want to compile your app. Make a note of the target id. We
    139 recommend that you select the highest version possible. You can still build your app to
    140 support older versions, but setting the build target to the latest version allows you to optimize
    141 your app for the latest devices.</p>
    142 <p>If you don't see any targets listed, you need to
    143 install some using the Android SDK
    144 Manager tool. See <a href="{@docRoot}sdk/installing/adding-packages.html">Adding Platforms
    145   and Packages</a>.</p></li>
    146   <li>Execute:
    147 <pre class="no-pretty-print">
    148 android create project --target &lt;target-id> --name MyFirstApp \
    149 --path &lt;path-to-workspace>/MyFirstApp --activity MainActivity \
    150 --package com.example.myfirstapp
    151 </pre>
    152 <p>Replace <code>&lt;target-id></code> with an id from the list of targets (from the previous step)
    153 and replace
    154 <code>&lt;path-to-workspace></code> with the location in which you want to save your Android
    155 projects.</p></li>
    156 </ol>
    157 
    158 <p>Your Android project is now set up with several default configurations and youre ready to begin
    159 building the app. Continue to the <a href="running-app.html">next lesson</a>.</p>
    160 
    161 <p class="note"><strong>Tip:</strong> Add the <code>platform-tools/</code> as well as the
    162 <code>tools/</code> directory to your <code>PATH</code> environment variable.</p>
    163 
    164 
    165 
    166 
    167