proton:android_projects
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
proton:android_projects [2012/07/02 16:08] – Common Android stuff aki | proton:android_projects [2022/08/01 07:41] (current) – [V3 style] seth | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | **NEW: | ||
- | |||
==== Intro ==== | ==== Intro ==== | ||
The Android projects are a bit more complicated than some other platforms. Most of the complication comes from the fact that the Android applications are a mixture of native C++ and interpreted Java code. This is true for any Android project (not just Proton) that uses native code. On top of this Proton also adds its own quirks. | The Android projects are a bit more complicated than some other platforms. Most of the complication comes from the fact that the Android applications are a mixture of native C++ and interpreted Java code. This is true for any Android project (not just Proton) that uses native code. On top of this Proton also adds its own quirks. | ||
- | First of all there are two versions of Android projects around: | + | Over the years we've updated |
- | ==== V2 style ==== | + | V1 style: |
+ | V2 style: | ||
+ | V3 style: | ||
+ | |||
+ | ==== V2 style (outdated!) | ||
At some point in history it came apparent that on Android some Java classes (provided by Proton) need to be in specific packages. And these packages change from project to another. Hence it was necessary to introduce a way to get (almost) the same source files to different directories (and thus to different packages) in different projects. The source files also needed small modifications in the code, for example the package name needs to be specified in the source. | At some point in history it came apparent that on Android some Java classes (provided by Proton) need to be in specific packages. And these packages change from project to another. Hence it was necessary to introduce a way to get (almost) the same source files to different directories (and thus to different packages) in different projects. The source files also needed small modifications in the code, for example the package name needs to be specified in the source. | ||
Line 25: | Line 27: | ||
The build scripts also include some optional Java code (like Google' | The build scripts also include some optional Java code (like Google' | ||
+ | |||
+ | ==== V3 style ==== | ||
+ | |||
+ | After a few more years, Seth created an Android Studio/ | ||
+ | |||
+ | Android Studio handles installing Gradle/ | ||
+ | |||
+ | Note: I've ripped out built in support (on the Java side) for In App Billing, Chartbooost/ | ||
+ | |||
+ | It is possible to use third party libraries the " | ||
+ | |||
+ | IMPORTANT NOTE: The package ID set in App.cpp MUST match the one set in local.properties. | ||
==== Building ==== | ==== Building ==== | ||
- | The building process is somewhat different depending on what operating system you are using. Check instructions for [[proton: | + | The building process is somewhat different depending on what operating system you are using. Check instructions for [[proton: |
+ | |||
+ | Or the old outdated way: [[proton: | ||
proton/android_projects.1341245305.txt.gz · Last modified: 2012/07/02 16:08 by aki