Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33fa62da authored by Andrew Solovay's avatar Andrew Solovay
Browse files

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
parent ffb90fde
Loading
Loading
Loading
Loading
+174 −0
Original line number Diff line number Diff line
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>
+1 −0
Original line number Diff line number Diff line
@@ -184,6 +184,7 @@ class="en">Tools Help</span></a></div>
      <li><a href="<?cs var:toroot ?>tools/help/logcat.html">logcat</a></li>
      <li><a href="<?cs var:toroot ?>tools/help/mksdcard.html">mksdcard</a></li>
       <li><a href="<?cs var:toroot ?>tools/help/proguard.html" zh-cn-lang="ProGuard">ProGuard</a></li>
       <li><a href="<?cs var:toroot ?>tools/help/project-mgmt.html">Project Structure Management</a></li>
       <li><a href="<?cs var:toroot ?>tools/help/sdk-manager.html">SDK Manager</a></li>
       <li><a href="<?cs var:toroot ?>tools/help/systrace.html">Systrace</a></li>
       <li><a href="<?cs var:toroot ?>tools/help/theme-editor.html">Theme Editor</a></li>