# 减少总方法数

> 优化您的 Android 构建流程，包括采用更轻量级的依赖项并启用多 dex 文件支持以确保方法数量符合限制要求。

## 移除整个 GPS 库，仅使用 play-services-basement##remove-entire-gps-library-and-only-use-play-services-basement

### Android Studio 中用于添加远程依赖库的选项##android-studio-remote-dependency-library-option

如果在 Android Studio 中使用远程依赖库，请在 build.gradle 中添加以下代码

```xml
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services-basement:8.4.0'
}
```

### Android Studio jar 文件选项##android-studio-jar-file-option

如果要从现有项目中移除 GPS 并仅保留 jar，则需要执行以下步骤。

从现有项目中移除 GPS 以仅包含 google-play-services-basement.jar。例如，开箱即用的 Tapjoy EasyApp 示例包括整个 GPS 库。下面列出的一些步骤说明了如何移除 GPS，仅保留所需的 google-play-services-basement.jar。

**移除以下位置中对 GPS 的引用**

1. Settings.gradle - 显示已注释掉的 include 语句。

```xml
//include ':Libraries:google-play-services_lib'
include ':TapjoyEasyApp'
```

2. project.properties - 显示已注释掉的对 GPS 的引用。

```xml
#android.library.reference.1=../Libraries/google-play-services_lib
```

3. 移除 build.gradle 中的 gps 引用，并添加 google-play-services-basement.jar 的 jar 文件。

```xml
dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
//   compile project(':Libraries:google-play-services_lib')
   compile files('libs/google-play-services-basement.jar')
}
```

4. AndroidManifest.xml - 显示已注释的对 GPS 的引用。

```xml
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<!--     <meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />-->
```

## 包含多 dex 文件支持##include-multi-dex-support

另一种方法是在 gradle.build 中添加一个条目以支持多 dex 文件。

如需了解更多信息，请参阅 [Android 开发者文档](https://developer.android.com/build/multidex)。

如需了解更多信息，请参阅 Unity 讨论论坛上的以下帖子，其中讨论了此问题的解决方法。

* [导出 Android 构建时引用的方法太多](https://discussions.unity.com/t/too-many-method-references-when-i-export-android-build/120436)
* [Dex 64k 方法限制 - 让 Unity 使用 Gradle 构建选项](https://discussions.unity.com/t/dex-64k-method-limit-get-unity-to-use-gradle-build-options/579413)

Unity 提供了一个选项来创建 Android 项目而不是 .apk。然后，您可以进行上面建议的修改。
