Andrew Solovay 33fa62da1f docs: New page for Android Studio Project Structure dialog
Gap in existing docs; Project Structure dialog wasn't documented.

See first comment for doc stage location.

bug: 26028645
Change-Id: I1423fb1a193bf2a85f1829e7076a43df9cb8604c
2015-12-16 17:56:37 -08:00

175 lines
5.7 KiB
Plaintext

page.title=Project Structure Management
parent.title=Tools
parent.link=index.html
page.tags="android studio,project structure,target sdk,minimum sdk"
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol>
<li><a href="#dev-svc">Developer Services</a></li>
<li><a href="#modules">Modules</a></li>
</ol>
</div>
</div>
<p>
You can use the <strong>Android Studio File &gt; Project Structure</strong> dialog box to
change configuration settings for your Android Studio project. This dialog
box is useful if you need to change some of the settings you chose when you
created the project.
</p>
<p>
The Project Structure dialog box contains the following sections:
</p>
<ul>
<li>
<strong>SDK Location:</strong> Sets the location of the JDK, Android SDK,
and Android NDK that the project uses.
</li>
<li>
<strong>Project:</strong> Sets version information for <a
href="{@docRoot}tools/building/plugin-for-gradle.html">Gradle</a> and for
the <a href="{@docRoot}tools/building/plugin-for-gradle.html">Android plugin
for Gradle</a>.
</li>
<li>
<strong>Developer Services:</strong> Contains settings for Android Studio
add-in components from Google or third parties.
</li>
<li>
<strong>Modules:</strong> Used to set or change various module-specific
build settings, including the target and minimum SDK, the app signature,
and library dependencies. Most importantly, this is where you change
the settings for your project's <em>app</em> module.
</li>
</ul>
<p>
The following two sections provide information on the <a href=
"#dev-svc">Developer Services</a> and <a href="#modules">Modules</a>
sections.
</p>
<h2 id="dev-svc">
Developer Services
</h2>
<p>
The <em>Developer Services</em> section of the <em>Project Structure</em>
dialog box contains configuration pages
for several services that you can be use with your app. This section
contains the following pages:
</p>
<ul>
<li>
<strong>AdMob:</strong> Allows you to turn on Google's <a href=
"https://developers.google.com/admob/" class="external-link">AdMob</a>
component, which helps you understand your users and show them tailored
advertisements.
</li>
<li>
<strong>Analytics:</strong> Allows you to turn on <a href=
"https://developers.google.com/analytics/" class="external-link">Google
Analytics</a>, which helps you measure user interactions with your app
across various devices and environments.
</li>
<li>
<strong>Authentication:</strong> Allows users to use <a href=
"https://developers.google.com/identity/sign-in/android/" class=
"external-link">Google Sign-In</a> to sign in to your app with their Google
accounts.
</li>
<li>
<strong>Cloud:</strong> Allows you to turn on <a href=
"https://www.firebase.com/" class="external-link">Firebase</a> cloud-based
services for your app.
</li>
<li>
<strong>Notifications:</strong> Allows you to use <a href=
"https://developers.google.com/cloud-messaging/" class=
"external-link">Google Cloud Messaging</a> to communicate between your app
and your server.
</li>
</ul>
<p>
Turning on any of these services may cause Android Studio to add necessary
dependencies and permissions to your app. Each configuration page lists these
and other actions that Android Studio takes if you enable the associated service.
</p>
<h2 id="modules">
Modules
</h2>
<p>
The <em>Modules</em> settings section lets you change configuration
options for each of your project's modules. This section contains one page
for each module in your app. In many cases, the project has just a single
module, named <em>app</em>. However, if your project targets multiple form
factors, it might have several modules. For example, if your project contains
both a tablet app and a wearable app, it might have two modules, named
<em>mobile</em> and <em>wear</em>. For more information about project
modules, see <a href=
"{@docRoot}tools/projects/index.html#ApplicationModules">Android Application
Modules</a>.
</p>
<p>
Each module's settings page is divided into the following panes:
</p>
<ul>
<li>
<strong>Properties:</strong> Specifies the versions of the SDK and build
tools to use to compile the module.
</li>
<li>
<strong>Signing:</strong> Specifies the certificate to use to
<a href="{@docRoot}tools/publishing/app-signing.html#sign-auto">sign your
APK</a>.
</li>
<li>
<strong>Flavors:</strong> Lets you create multiple build <em>flavors</em>, where
each flavor specifies a set of configuration settings, such as the
module's minimum and target SDK version, and the
<a href="{@docRoot}tools/publishing/versioning.html">version code and
version name</a>. For example, you might define one flavor that has a
minimum SDK of 15 and a target SDK of 21, and another flavor that has a
minimum SDK of 19 and a target SDK of 23.
</li>
<li>
<strong>Build Types:</strong> Lets you create and modify build
configurations, as described in <a href=
"{@docRoot}tools/building/configuring-gradle.html">Configuring Gradle
Builds</a>. By default, every module has <em>debug</em> and
<em>release</em> build types, but you can define more as needed.
</li>
<li>
<strong>Dependencies:</strong> Lists the library, file, and module
dependencies for this module. You can add, modify, and delete dependencies
from this pane. For more information about module dependencies, see
<a href="{@docRoot}tools/building/configuring-gradle.html#declareDeps">Declare
dependencies</a> in <a href=
"{@docRoot}tools/building/configuring-gradle.html">Configuring Gradle
Builds</a>.
</li>
</ul>