# Android build settings reference

> Reference documentation for Android build settings.

Use the Android build settings to configure and build your application for Android platform. The Android build settings are included in the **Platform Settings** section of the [Build Profiles window](/engine/6000.5/manual/building-and-publishing/build-settings.md).

| **Property**                       | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Texture Compression**            | The texture compression format to use for the build. The options are:- **Use Player Settings**: Uses the texture compression format you set in [Player Settings](/engine/6000.5/manual/platform-specific/android/getting-started/class-player-settings.md).
- **ETC (GLES 2.0)**: Uses ETC format.
- **ETC2 (GLES 3.0)**: Uses ETC2 format.
- **ASTC**: Uses ASTC format.
- **DXT (Tegra)**: Uses DXT format.For more information about texture compression formats, refer to [Recommended, default, and supported texture compression formats, by platform](/engine/6000.5/manual/materials-and-shaders/textures/textures-getting-started/texture-compression-formats/texture-choose-format-by-platform.md#android).**Notes**:- If you enable [texture compression targeting](/engine/6000.5/manual/platform-specific/android/building-and-delivering/distribution/google-play.md#texture-compression-targeting), Unity disables this setting.
- You can also change this setting from a script or using the `-setDefaultPlatformTextureFormat` [command-line argument](/engine/6000.5/manual/unity-editor/command-line-arguments.md).                                                                                                                                              |
| **Export Project**                 | Exports the Unity project as a Gradle project that you can import into Android Studio. For more information, refer to [Export an Android project](/engine/6000.5/manual/platform-specific/android/building-and-delivering/export-process.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Symlink Sources**                | Indicates whether to share Java, Kotlin, and Android Library plug-in source files between Unity and the exported Gradle project. Android Library plug-in source files can be shared only if it includes `build.gradle` file in the plug-in folder.Enable this setting to create [symbolic links](https://en.wikipedia.org/wiki/Symbolic_link) so the Gradle project references Java, Kotlin, and Android Library plug-in (.androidlib) source files in the Unity project. This helps you test and iterate Java, Kotlin, and Android Library plug-in code because it means any changes you make to these source files in the exported Gradle project persist if you re-export the Unity project.Disable this setting to make Unity copy Java, Kotlin, and Android Library plug-in source files from the Unity project into the exported Gradle project.**Note**: You can only interact with this setting if you enable **Export Project**.                                                                                                                                                                                                                                                                                                                                            |
| **Build App Bundle (Google Play)** | Indicates whether to build the application as an[ Android App Bundle](https://developer.android.com/platform/technology/app-bundle/) (AAB) to distribute on Google Play. If you enable this setting, Unity builds the application as an `aab`. If you disable this setting, Unity builds the application as an `apk`.**Note**: This setting is visible only if you disable **Export Project**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Export for App Bundle**          | Configures the exported Gradle project to build as an Android App Bundle.**Note**: This setting is visible only if you enable **Export Project**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Debug Symbols**                  | Specifies how Unity generates a [symbols package](/engine/6000.5/manual/platform-specific/android/developing/testing-and-debugging/symbols.md) when it builds your application. The available options are:- **Disabled**: Unity doesn’t generate a symbols package.
- **Public**: Unity generates the symbols package containing only the symbol table section and not the debugging information.
- **Debugging**: Unity generates the symbols package containing the symbol table section and debugging information.You can upload the symbol package with your apk or Android App bundle (aab) in three ways:- As a separate zip file for an apk build.
- Embed directly in the Android App bundle. This requires you to enable the Build App Bundle option.
- As a separate zip file for the Android App bundle. This requires you to enable the Build App Bundle option.                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Symbols output options**         | Specifies how Unity includes the symbols with the application build.- **.zip**: A separate zip file containing the symbols package. You can upload this zip file with the apk.
- **App Bundle**: The symbols get embedded in the Android App bundle.
- **.zip + App Bundle**: A separate zip file containing the symbols package. Additionally, the symbols get embedded in the Android App bundle.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Symbol file extension**          | Specifies the symbol file extension as per the selected symbols package type. You have an option to create symbol files with the legacy extension.- **.so**: Specifies the legacy `.so` extension for the symbols package which you can upload on distribution services that don’t recognize the `.so.sym` or `.so.dbg` extensions.
- **.so.sym**: Specifies the extension for the public symbols package.
- **.so.dbg**: Specifies the extension for the debugging symbols package.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Run Device**                     | Specifies which attached device to test the build on. Devices connected via USB appear in the list automatically. If you connect a new device or don’t find an attached device in the list, select **Refresh**. To connect a new device wirelessly over Android Debug Bridge, select the **\<Enter IP>** option. For more information, refer to [Debug on Android devices](/engine/6000.5/manual/platform-specific/android/developing/testing-and-debugging/debugging-on-an-android-device.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Build to Device**                | A build pipeline that doesn't create a full build and instead deploys single files that changed since the last patch directly to the device. **Patch** deploys changed files to the devices and **Patch And Run** deploys changed files and then runs the application on the device. For more information, refer to [Application patching](/engine/6000.5/manual/platform-specific/android/developing/testing-and-debugging/app-patching.md).You can only interact with this setting if you enable **Development Build**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Link Time Optimization**         | Use the precompiled and link time optimized (ThinLTO) Unity engine code (`libunity.so`) for non-development builds. Use this property for improved runtime performance and reduced memory usage. The options are:- **None**: The project build uses the default Unity engine code.
- **Thin**: The project build uses precompiled and thin link time optimized (ThinLTO) Unity engine code. For more information, refer to the [ThinLTO Documentation](https://clang.llvm.org/docs/ThinLTO.html).You can use link time optimized Unity engine code if your project uses IL2CPP scripting backend and Strip Engine Code is disabled. This doesn't affect IL2CPP compilation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Compression Method**             | Specifies the method Unity uses to compress the data in your Project when it builds the Player. This includes [Assets](/engine/6000.5/manual/assets-and-media/asset-types/assets-supported-types.md.md), [Scenes](/engine/6000.5/manual/working-with-scenes/creating-scenes.md.md), [Player settings](/engine/6000.5/manual/unity-editor/editor-settings-reference/comp-manager-group/class-player-settings.md.md), and [GI data](/engine/6000.5/manual/lighting-overview/direct-and-indirect-lighting/lightmap-data/gicache.md.md).* **Default**: On Windows, Mac, Linux Standalone, and iOS, there's no default compression. On Android, the default compression is ZIP, which gives slightly better compression results than LZ4HC. However, ZIP data is slower to decompress.* **LZ4**: A fast compression format that is useful for development builds. For more information, refer to [BuildOptions.CompressWithLz4](/engine/6000.5/script-reference/unityeditor/buildoptions/compresswithlz4.md.md).- **LZ4HC**: A high compression variant of LZ4 that is slower to build but produces better results for release builds. For more information, refer to [BuildOptions.CompressWithLz4HC](/engine/6000.5/script-reference/unityeditor/buildoptions/compresswithlz4hc.md.md). |

## Additional resources

* [How Unity builds Android applications](/engine/6000.5/manual/platform-specific/android/introducing/how-unity-builds-android-applications.md)
* [Build your application for Android](/engine/6000.5/manual/platform-specific/android/building-and-delivering/build-process.md)
* [BuildOptions API reference](/engine/6000.5/script-reference/unityeditor/buildoptions.md)
