app | ||
.editorconfig | ||
.gitignore | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
local.properties | ||
README.md | ||
settings.gradle |
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 (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"