|
1 | 1 | # Downloads and installs the Android SDK depending on supplied platform: darwin or linux |
2 | 2 |
|
3 | | -# We must provide a platform (darwin or linux) and we need JAVA_HOME defined |
4 | | -ifndef target_os |
5 | | - $(error target_os is not set...aborted!) |
6 | | -endif |
7 | | - |
8 | 3 | # Those android NDK/SDK variables can be override when running the file |
9 | 4 | ANDROID_NDK_VERSION ?= 19b |
10 | | -ANDROID_SDK_TOOLS_VERSION ?= 4333796 |
11 | | -ANDROID_SDK_BUILD_TOOLS_VERSION ?= 28.0.2 |
| 5 | +ANDROID_SDK_TOOLS_VERSION ?= 6514223 |
| 6 | +ANDROID_SDK_BUILD_TOOLS_VERSION ?= 29.0.3 |
12 | 7 | ANDROID_HOME ?= $(HOME)/.android |
13 | 8 | ANDROID_API_LEVEL ?= 27 |
14 | 9 |
|
| 10 | +# per OS dictionary-like |
| 11 | +UNAME_S := $(shell uname -s) |
| 12 | +TARGET_OS_Linux = linux |
| 13 | +TARGET_OS_ALIAS_Linux = $(TARGET_OS_Linux) |
| 14 | +TARGET_OS_Darwin = darwin |
| 15 | +TARGET_OS_ALIAS_Darwin = mac |
| 16 | +TARGET_OS = $(TARGET_OS_$(UNAME_S)) |
| 17 | +TARGET_OS_ALIAS = $(TARGET_OS_ALIAS_$(UNAME_S)) |
| 18 | + |
15 | 19 | ANDROID_SDK_HOME=$(ANDROID_HOME)/android-sdk |
16 | | -ANDROID_SDK_TOOLS_ARCHIVE=sdk-tools-$(target_os)-$(ANDROID_SDK_TOOLS_VERSION).zip |
| 20 | +ANDROID_SDK_TOOLS_ARCHIVE=commandlinetools-$(TARGET_OS_ALIAS)-$(ANDROID_SDK_TOOLS_VERSION)_latest.zip |
17 | 21 | ANDROID_SDK_TOOLS_DL_URL=https://dl.google.com/android/repository/$(ANDROID_SDK_TOOLS_ARCHIVE) |
18 | 22 |
|
19 | 23 | ANDROID_NDK_HOME=$(ANDROID_HOME)/android-ndk |
20 | 24 | ANDROID_NDK_FOLDER=$(ANDROID_HOME)/android-ndk-r$(ANDROID_NDK_VERSION) |
21 | | -ANDROID_NDK_ARCHIVE=android-ndk-r$(ANDROID_NDK_VERSION)-$(target_os)-x86_64.zip |
| 25 | +ANDROID_NDK_ARCHIVE=android-ndk-r$(ANDROID_NDK_VERSION)-$(TARGET_OS)-x86_64.zip |
22 | 26 | ANDROID_NDK_DL_URL=https://dl.google.com/android/repository/$(ANDROID_NDK_ARCHIVE) |
23 | 27 |
|
24 | 28 | $(info Target install OS is : $(target_os)) |
@@ -61,8 +65,8 @@ extract_android_ndk: |
61 | 65 | # updates Android SDK, install Android API, Build Tools and accept licenses |
62 | 66 | update_android_sdk: |
63 | 67 | touch $(ANDROID_HOME)/repositories.cfg |
64 | | - yes | $(ANDROID_SDK_HOME)/tools/bin/sdkmanager --licenses > /dev/null |
65 | | - $(ANDROID_SDK_HOME)/tools/bin/sdkmanager "build-tools;$(ANDROID_SDK_BUILD_TOOLS_VERSION)" > /dev/null |
66 | | - $(ANDROID_SDK_HOME)/tools/bin/sdkmanager "platforms;android-$(ANDROID_API_LEVEL)" > /dev/null |
| 68 | + yes | $(ANDROID_SDK_HOME)/tools/bin/sdkmanager --sdk_root=$(ANDROID_SDK_HOME) --licenses > /dev/null |
| 69 | + $(ANDROID_SDK_HOME)/tools/bin/sdkmanager --sdk_root=$(ANDROID_SDK_HOME) "build-tools;$(ANDROID_SDK_BUILD_TOOLS_VERSION)" > /dev/null |
| 70 | + $(ANDROID_SDK_HOME)/tools/bin/sdkmanager --sdk_root=$(ANDROID_SDK_HOME) "platforms;android-$(ANDROID_API_LEVEL)" > /dev/null |
67 | 71 | # Set avdmanager permissions (executable) |
68 | 72 | chmod +x $(ANDROID_SDK_HOME)/tools/bin/avdmanager |
0 commit comments