* `assets` is used for your app icon and any other assets your project may need.
* `assets` is used for your app icon and any other assets your project may need.
* `include` only has `raylib.h` by default but you can put headers for other libraries if needed.
* `include` only has `raylib.h` by default but you can put headers for other libraries if needed.
* `lib` contains the compiled raylib library for Android.
* `lib` contains the compiled raylib library for Android.
* `src`contains your app's source code.
* `src` is for your app's source code, put all `*.c` files there.
## Java
## Java
Android is based on the Java language, a Java installation is also required to create Android apps. There are many versions of Java, I use OpenJDK version 18 (or newer) which can be downloaded [here](https://openjdk.java.net/).
Android is based on the Java language, a Java installation is also required to create Android apps. There are many versions of Java, I use OpenJDK version 18 (or newer) which can be downloaded [here](https://openjdk.java.net/).
@ -71,7 +71,7 @@ cd ../..
## Prepare project
## Prepare project
A few more files need to be created for the Android build to work.
A few more files need to be created for the Android build to work.
1. Create icons for different display densities (ldpi, mdpi, hdpi, xhdpi). In this guide, I will put them in `assets`, named `icon_ldpi.png`, `icon_mdpi.png` and so on. There are higher display densities but icons for them are not needed. For example, these commands create the icons for the raylib logo:
1. Create icons for different display densities (ldpi, mdpi, hdpi, xhdpi). In this guide, I will put them in `assets`, named `icon_ldpi.png`, `icon_mdpi.png` and so on. There are higher display densities but icons for them are not needed. As an example, these commands create the icons for the raylib logo:
2. Keystore, this file contains the key for signing your APK file. You can change the `storepass` and `keypass` if you want to.
2. Keystore, this file contains the key for signing your APK file. You can change the `storepass` and `keypass` if you want to, but make sure to change them in the build script later.