summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDavid Friedman <dmail@google.com>2014-11-24 14:10:38 -0800
committerDavid Friedman <dmail@google.com>2014-11-24 14:11:50 -0800
commit6c4c8c57fe98181b4a2609dec4f6feac599da957 (patch)
treeb7befa544baaf108888007f551a8843b4946c5ab /docs
parent1b23ee962a1ce0963537810724b2be61c0ab8c57 (diff)
downloadframeworks_base-6c4c8c57fe98181b4a2609dec4f6feac599da957.zip
frameworks_base-6c4c8c57fe98181b4a2609dec4f6feac599da957.tar.gz
frameworks_base-6c4c8c57fe98181b4a2609dec4f6feac599da957.tar.bz2
Updates GMSCore docs to reflect ability to selectively include APIs
Bug 16679117 Change-Id: Idb5df2869129972a8834118047dfcd23e5140847
Diffstat (limited to 'docs')
-rw-r--r--docs/html/google/play-services/setup.jd125
1 files changed, 110 insertions, 15 deletions
diff --git a/docs/html/google/play-services/setup.jd b/docs/html/google/play-services/setup.jd
index d886454..413000f 100644
--- a/docs/html/google/play-services/setup.jd
+++ b/docs/html/google/play-services/setup.jd
@@ -43,8 +43,8 @@ to <a href="{@docRoot}sdk/installing/adding-packages.html">Adding SDK Packages</
<p>
<select class="ide">
- <option value="eclipse">Using Eclipse with ADT</option>
<option value="studio">Using Android Studio</option>
+ <option value="eclipse">Using Eclipse with ADT</option>
<option value="other">Using something else</option>
</select>
</p>
@@ -60,27 +60,23 @@ to <a href="{@docRoot}sdk/installing/adding-packages.html">Adding SDK Packages</
<a href="{@docRoot}sdk/installing/studio-build.html">Building Your Project with
Gradle</a> for more information about Gradle.</p></li>
<li>Add a new build rule under <code>dependencies</code> for the latest version of
- <code>play-services</code>.
- <p>For example, for mobile modules:</p>
+<code>play-services</code>. For example:
<pre class="no-pretty-print">
apply plugin: 'android'
...
dependencies {
compile 'com.android.support:appcompat-v7:20.+'
- <strong>compile 'com.google.android.gms:play-services:6.1.+'</strong>
+ <strong>compile 'com.google.android.gms:play-services:6.5.+'</strong>
}
</pre>
- <p>For wearable modules:</p>
-<pre class="no-pretty-print">
-apply plugin: 'android'
-...
+<p>Be sure you update this version number each time Google Play services is updated.</p>
+<p class="note"><strong>Note:</strong> If the number of method references in your app exceeds the
+<a href="{@docRoot}tools/building/multidex.html">65K limit</a>, your app may fail to compile. You
+may be able to mitigate this problem when compiling your app by specifying only the specific Google
+Play services APIs your app uses, instead of all of them. For information on how to do this,
+see <a href="#split">Selectively compiling APIs into your executable</a>.
-dependencies {
- <strong>compile 'com.google.android.gms:play-services-wearable:6.1.+'</strong>
-}
-</pre>
- <p>Be sure you update this version number each time Google Play services is updated.</p>
</li>
<li>Save the changes and click <strong>Sync Project with Gradle Files</strong>
<img src="{@docRoot}images/tools/sync-project.png" style="vertical-align:bottom;margin:0;height:19px" />
@@ -99,13 +95,112 @@ element:
<p>You can now begin developing features with the
<a href="{@docRoot}reference/gms-packages.html">Google Play services APIs</a>.</p>
+<h3 id="split">Selectively compiling APIs into your executable</h3>
+
+<p>In versions of Google Play services prior to 6.5, you had to compile the entire package of APIs
+into your app. In some cases, doing so made it more difficult to keep the number of methods
+in your app (including framework APIs, library methods, and your own code) under the 65,536 limit.</p>
+
+<p>From version 6.5, you can instead selectively compile Google Play service APIs into your app. For
+example, to include only the Google Fit and Android Wear APIs, replace the following line in your
+<code>build.gradle</code> file:</p>
+
+<pre class="no-pretty-print">
+compile 'com.google.android.gms:play-services:6.5.+'
+</pre>
+
+<p>with these lines:</p>
+
+<pre class="no-pretty-print">
+compile 'com.google.android.gms:play-services-fitness:6.5.+'
+compile 'com.google.android.gms:play-services-wearable:6.5.+'
+</pre>
+
+<p>Table 1 shows a list of the separate APIs that you can include when compiling your app, and
+how to describe them in your <code>build.gradle</code> file. Some APIs do not have a separate
+library; include them by including the base library. (This lib is automatically included when
+you include an API that does have a separate library.)</p>
+
+<p class="table-caption" id="table1">
+<strong>Table 1.</strong> Individual APIs and corresponding <code>build.gradle</code> descriptions.</p>
+
+<table>
+ <tr>
+ <th scope="col">Google Play services API</th>
+ <th scope="col">Description in <code>build.gradle</code></th>
+ </tr>
+ <tr>
+ <td>Google+</td>
+ <td>com.google.android.gms:play-services-plus:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Account Login</td>
+ <td>com.google.android.gms:play-services-identity:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Activity Recognition</td>
+ <td>com.google.android.gms:play-services-location:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google App Indexing</td>
+ <td>com.google.android.gms:play-services-appindexing:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Cast</td>
+ <td>com.google.android.gms:play-services-cast:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Drive</td>
+ <td>com.google.android.gms:play-services-drive:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Fit</td>
+ <td>com.google.android.gms:play-services-fitness:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Maps</td>
+ <td>com.google.android.gms:play-services-maps:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Mobile Ads</td>
+ <td>com.google.android.gms:play-services-ads:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Panorama Viewer</td>
+ <td>com.google.android.gms:play-services-panorama:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Play Game services</td>
+ <td>com.google.android.gms:play-services-games:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Google Wallet</td>
+ <td>com.google.android.gms:play-services-wallet:6.5.+</td>
+ </tr>
+ <tr>
+ <td>Android Wear</td>
+ <td>com.google.android.gms:play-services-wearable:6.5.+</td>
+ </tr>
+ <tr>
+ <td>
+ Google Actions<br>
+ Google Analytics<br>
+ Google Cloud Messaging<br>
+ </td>
+ <td>com.google.android.gms:play-services-base:6.5.+</td>
+ </tr>
+
+</table>
+
</div><!-- end studio -->
<div class="select-ide eclipse">
<p>To make the Google Play services APIs available to your app:</p>
<ol>
- <li>Copy the library project at <code>&lt;android-sdk&gt;/extras/google/google_play_services/libproject/google-play-services_lib/</code> to the location where you maintain your Android app projects.</li>
+ <li>Copy the library project at
+ <code>&lt;android-sdk&gt;/extras/google/google_play_services/libproject/google-play-services_lib/</code>
+ to the location where you maintain your Android app projects.</li>
<li>Import the library project into your Eclipse workspace. Click
<b>File > Import</b>, select <b>Android > Existing Android Code into
Workspace</b>, and browse to the copy of the library project to import it.</li>
@@ -189,7 +284,7 @@ required classes, add the following lines in the
</pre>
<p class="note"><strong>Note:</strong> When using Android Studio, you must add Proguard
-to your <code>gradle.build</code> file's build types. For more information, see the
+to your <code>build.gradle</code> file's build types. For more information, see the
<a href="http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard"
>Gradle Plugin User Guide</a>.
</ol>