cnlohr / rawdrawandroid

Build android apps without any java, entirely in C and Make
MIT License
2.75k stars 197 forks source link

What about older versions of android? #47

Closed Dzemail closed 2 years ago

dreua commented 3 years ago

Can you be more specific with your question?

In general, this project is more like a proof of concept, we don't do any compatibility testing.

SelfTide commented 2 years ago

I got it to work on android 28.

Here is the output of my sdkmanager

./sdkmanager --sdk_root=${ANDROID_HOME} --list_installed --verbose
Installed packages:
--------------------------------------
build-tools;30.0.2
    Description:        Android SDK Build-Tools 30.0.2
    Version:            30.0.2
    Installed Location: /home/mongoose/android-sdk/build-tools/30.0.2

build-tools;32.0.0
    Description:        Android SDK Build-Tools 32
    Version:            32.0.0
    Installed Location: /home/mongoose/android-sdk/build-tools/32.0.0

cmake;3.10.2.4988404
    Description:        CMake 3.10.2.4988404
    Version:            3.10.2
    Installed Location: /home/mongoose/android-sdk/cmake/3.10.2.4988404

emulator
    Description:        Android Emulator
    Version:            31.1.4
    Installed Location: /home/mongoose/android-sdk/emulator

ndk;21.3.6528147
    Description:        NDK (Side by side) 21.3.6528147
    Version:            21.3.6528147
    Installed Location: /home/mongoose/android-sdk/ndk/21.3.6528147

patcher;v4
    Description:        SDK Patch Applier v4
    Version:            1
    Installed Location: /home/mongoose/android-sdk/patcher/v4

platform-tools
    Description:        Android SDK Platform-Tools
    Version:            31.0.3
    Installed Location: /home/mongoose/android-sdk/platform-tools

platforms;android-28
    Description:        Android SDK Platform 28
    Version:            6
    Installed Location: /home/mongoose/android-sdk/platforms/android-28

platforms;android-30
    Description:        Android SDK Platform 30
    Version:            3
    Installed Location: /home/mongoose/android-sdk/platforms/android-30

sources;android-28
    Description:        Sources for Android 28
    Version:            1
    Installed Location: /home/mongoose/android-sdk/sources/android-28
omer-musa-battal commented 1 year ago

I applied the following installation procedure to run the app on android 28, based on the info provided in this post:

yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} --licenses
$ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} "build-tools;30.0.2" "build-tools;32.0.0" "cmake;3.10.2.4988404" "emulator" "ndk;21.3.6528147" "patcher;v4" "platform-tools" "platforms;android-28" "platforms;android-30" "sources;android-28"

I used the commandlinetools-linux-9123335_latest.zip package from here. Some of the installs by the sdkmanager may be redundant, but I did not check this.

Note that ANDROIDVERSION?= line in Makefile has to be changed to version 28 prior to running make keystore and make run commands. Otherwise, INSTALL_FAILED_OLDER_SDK error occurs during $(ADB) install -r $(APKFILE) step in make run.

Thank you @SelfTide, for your helpful post.