mirror of
https://git.alemi.dev/harvard-android.git
synced 2024-11-14 20:39:18 +01:00
16 lines
1.8 KiB
Markdown
16 lines
1.8 KiB
Markdown
# Example Android project
|
|
This project is ready with gradle wrapper 7.3.3 and all strictly necessary files for developing android apps from scratch.
|
|
|
|
## Installing Android SDK
|
|
Note that you will need to download an android SDK: find them at the bottom of [Android Studio download page](https://developer.android.com/studio/) (under "Command line tools only").
|
|
Once that is done, set `sdk.dir` in `./local.properties` file, pointing to where you just extracted your files.
|
|
If you'd rather choose where android caches its stuff, also set `ANDROID_SDK_HOME` and `ANDROID_USER_HOME` (note that, if equal to `ANDROID_HOME`, they seem to get ignored). I haven't tried this tho.
|
|
|
|
This is not enough: gradle will complain that no license was accepted. You need to navigate to your SDK folder, enter `./bin` directory and run `./sdkmanager --licenses`. (If you haven't set your sdk root, also pass `--sdk_root=..`)
|
|
It's not super clear what `--licenses` will do, but it seems that it fetches the current licenses from Google servers and then asks you to accept them. Once that is done, a new folder `licenses` will be created in your SDK root, containing an unique identifier for each software which license you accepted.
|
|
The only really necessary license is the android-sdk one (not preview or arm or mips). Everything else can be rejected.
|
|
|
|
Once you downloaded the SDK and accepted Google licenses, try to build the project once: Gradle will download missing components (such as Platform Tools, Patch Applier, Android Emulator, SDK Tools, Build Tools, SDK platform).
|
|
|
|
### Failed to find target with hash string '...'
|
|
This error is weird and I have no idea why it happens. I think I solved it by manually redownloading the platform with sdkmanager: `$ANDROID_SDK_HOME/bin/sdkmanager "platforms;android-xx"`
|