Android: Add detailed instructions for setting up a build environment

This commit is contained in:
sigmabeta 2015-07-10 18:58:54 -04:00 committed by sigmabeta
parent c54534ee3b
commit 08516ee09e
2 changed files with 93 additions and 17 deletions

68
AndroidSetup.md Normal file
View File

@ -0,0 +1,68 @@
# How to Set Up an Android Development Environment
If you'd like to contribute to the Android project, but do not currently have a development environment setup, follow the instructions in this guide.
## Prerequisites
* A Linux VM or host, or a Mac.
* JDK 7 for your platform.
* CMake
* [Android NDK](https://developer.android.com/tools/sdk/ndk/index.html)
* [Android Studio](http://developer.android.com/tools/studio/index.html) **OR**
* [Android SDK Tools](http://developer.android.com/sdk/index.html#Other) (for command-line usage)
If you downloaded Android Studio, extract it and then see [Setting up Android Studio](#setting-up-android-studio).
If you instead chose to download the commoand-line SDK tools, see [Setting up the SDK Tools](#setting-up-the-sdk-tools).
## Setting up Android Studio
1. Launch Android Studio, which will start a first-launch wizard.
2. Choose a custom installation.
3. If offered a choice of themes, select your preference.
4. When offered a choice of components, uncheck the "Android Virtual Device" option. ![Android Studio Components][components]
5. Accept all licenses, and click Finish. Android Studio will download the SDK Tools package automatically. (Ubuntu users, if you get an error running the `mksdcard` tool, make sure the `lib32stdc++6` package is installed.)
6. At the Android Studio welcome screen, click "Configure", then "SDK Manager".
7. Use the SDK Manager to get necessary dependencies, as described in [Getting Dependencies](#getting-dependencies).
8. When done, follow the steps in [Readme.md](Readme.md#installation-on-android) to compile and deploy the application.
## Setting up the SDK Tools
1. In `Source/Android`, create a file called `local.properties`.
2. Add a single line: `sdk.dir=<sdk-path>`, where `<sdk-path>` is the path where you extracted the SDK Tools package.
3. Follow the steps in [Readme.md](Readme.md#installation-on-android) to compile and deploy the application.
## Executing Gradle Tasks
In Android Studio, you can find a list of possible Gradle tasks in a tray at the top right of the screen:
![Gradle Tasks][gradle]
Double clicking any of these tasks will execute it, and also add it to a short list in the main toolbar:
![Gradle Task Shortcuts][shortcut]
Clicking the green triangle next to this list will execute the currently selected task.
For command-line users, any task may be executed with `Source/Android/gradlew <task-name>`.
## Getting Dependencies
Most dependencies for the Android project are supplied by Gradle automatically. However, Android platform libraries (and a few Google-supplied supplementary libraries) must be downloaded through the Android package manager.
1. Launch the Android SDK Manager from the commandline by executing `<sdk-path>/tools/android`, or by clicking on its icon in Android Studio's main toolbar:
![Android Studio Package Icon][package-icon]
2. At the bottom of the window, click "Deselect All", and then "Updates".
3. Install or update the following packages:
* SDK Platform, under "Android 5.0.1 (API 21)". This will allow compiling apps that target Lollipop.
* Android Support Repository
* Android Support Library
* Google Repository
In the future, if the project targets a newer version of Android, or use newer versions of the tools/build-tools packages, it will be necessary to use this tool to download updates.
[components]: http://i.imgur.com/Oo1Fs93.png
[package-icon]: http://i.imgur.com/NUpkAH8.png
[gradle]: http://i.imgur.com/dXIH6o3.png
[shortcut]: http://i.imgur.com/eCWP4Yy.png

View File

@ -50,29 +50,37 @@ On OS X, an application bundle will be created in `./Binaries`.
On Linux, it's strongly recommended to perform a global installation via `sudo make install`.
## Installation on Android
Dolphin requires [Android Studio](http://developer.android.com/tools/studio/index.html) to build
the Android UI. Import the Gradle project located in `./Source/Android`, and then execute the
Gradle task `assembleDebug` to build, or `installDebug` to install the UI onto a connected device.
In order to launch the app, you must build and include the native Dolphin libraries into the UI project.
(Building native code requires the [Android NDK](https://developer.android.com/tools/sdk/ndk/index.html).)
Android Studio will do this for you if you create `Source/Android/build.properties`, and place the
following inside:
These instructions assume familiarity with Android development. If you do not have an
Android dev environment set up, see [AndroidSetup.md](AndroidSetup.md).
If using Android Studio, import the Gradle project located in `./Source/Android`.
Android apps are compiled using a build system called Gradle. Dolphin's native component,
however, is compiled using CMake. The Gradle script will attempt to run a CMake build
automatically while building the Java code, if you create the file `Source/Android/build.properties`,
and place the following inside:
```
makeArgs=<make-args>
# Specifies arguments for the 'make' command. Can be blank.
makeArgs=
# The path to your machine's Git executable. Will autodetect if blank.
gitPath=
# The path to the extracted NDK package. Will autodetect if blank.
ndkPath=
# The path to the CMake executable. Will autodetect if blank.
cmakePath=
```
Replace `<make-args>` with any arguments you want to pass to `make`. If you need to use a specific
version of git, cmake, or the NDK, you can also add `gitPath=<path>`, `cmakePath=<path>` or
`ndkPath=<path>`, replacing `<path>` with the actual paths. Otherwise, these will be found
automatically. Then execute the `assembleDebug` or `installDebug` task corresponding to the
hardware platform you are targeting. For example, to deploy to a Nexus 9, which runs the AArch64
architecture, execute `installArm_64Debug`. A list of available tasks can be found in Android
Studio in the Gradle tray, located at the top-right corner of the IDE by default.
If you prefer, you can run the CMake step manually, and it will copy the resulting
binary into the correct location for inclusion in the Android APK.
The native libraries will be compiled, and copied into `./Source/Android/app/libs`. Android Studio
and Gradle will include any libraries in that folder into the APK at build time.
Execute the Gradle task `assembleArm_64Debug` to build, or `installArm_64Debug` to
install the application onto a connected device. If other ABIs are eventually supported,
execute the tasks corresponding to the desired ABI.
## Uninstalling
When Dolphin has been installed with the NSIS installer, you can uninstall