Skip to content

Commit e54fb75

Browse files
authored
Upgrade android libraries (#1103)
Breaking build change: use Java 11 to build the project Upgrade android gradle plugin 4.0.1 -> 7.3.1 Upgrade gradle 6.1.1 -> 7.5 - Upgrade default NDK for gradle 7.5: 21.1.6352462 -> 23.1.7779620 Upgrade room 2.2.6 -> 2.4.3 Update compileSdkVersion 29 -> 32
1 parent 5a511c3 commit e54fb75

14 files changed

+248
-176
lines changed

.github/workflows/build-android.yml

+39-24
Original file line numberDiff line numberDiff line change
@@ -23,39 +23,54 @@ jobs:
2323
name: Build for Android
2424
steps:
2525
- name: Checkout
26-
uses: actions/checkout@v2
26+
uses: actions/checkout@v3
2727
with:
28-
submodules: 'true'
29-
continue-on-error: true
30-
- name: Chocolatey
28+
depth: 1
29+
submodules: 'false'
30+
- name: Update submodules
31+
run: |
32+
git submodule sync
33+
git config --global submodule.lib/modules.update none
34+
git -c protocol.version=2 submodule update --init --force --depth=1
35+
- name: Setup Java
36+
uses: actions/setup-java@v3
37+
with:
38+
distribution: 'adopt'
39+
java-version: '11'
40+
- name: Remove default github maven configuration
41+
# Workaround for: 'Unable to decrypt local Maven settings credentials'
42+
run: rm $Env:USERPROFILE\.m2\settings.xml
43+
- name: Setup Android SDK
44+
uses: android-actions/setup-android@v2
45+
- name: Install NDK
3146
run: |
32-
$Env:ANDROID_SDK_ROOT = "C:\Android\android-sdk"
47+
java -version
3348
gci env:* | sort-object name
34-
choco install --no-progress -y android-sdk
35-
choco install --no-progress -y ninja
3649
new-item "C:\Users\runneradmin\.android\repositories.cfg" -ItemType "file"
37-
echo yes | C:\Android\android-sdk\tools\bin\sdkmanager.bat "ndk-bundle" "cmake;3.10.2.4988404" "ndk;21.1.6352462" --sdk_root=$Env:ANDROID_SDK_ROOT
38-
gci -r -i "CMake*" C:\Android
39-
echo $Env:PATH
50+
echo yes | .\sdkmanager.bat "ndk-bundle" "cmake;3.10.2.4988404" "ndk;21.4.7075529" --sdk_root=$Env:ANDROID_SDK_ROOT
51+
working-directory: ${{ env.ANDROID_SDK_ROOT }}\cmdline-tools\7.0\bin
52+
- name: Chocolatey
53+
run: |
54+
choco install --no-progress -y ninja
55+
- name: List CMake
56+
run: |
57+
pwd
58+
echo "=================="
59+
gci -r -i "CMake*" -Name
60+
echo "=================="
61+
gci -r -i "gtest-all*" -Name
62+
echo "=================="
63+
gci third_party/ -Name
64+
echo "=================="
65+
gci third_party/googletest -Name
4066
- name: Gradle Build
4167
run: |
42-
$Env:PATH = "C:\Android\android-sdk\cmake\3.10.2.4988404\bin;" + $Env:PATH
43-
cd "$Env:GITHUB_WORKSPACE\lib\android_build"
44-
.\gradlew.bat assemble
45-
env:
46-
ANDROID_SDK_ROOT: "C:\\Android\\android-sdk"
47-
ANDROID_HOME: "C:\\Android\\android-sdk"
48-
ANDROID_NDK: "C:\\Android\\android-ndk-r20"
49-
ANDROID_NDK_HOME: "C:\\Android\\android-ndk-r20"
68+
.\gradlew.bat maesdk:assemble app:assemble
69+
working-directory: lib\android_build
5070
- name: Java Unit test
5171
run: |
52-
cd "$Env:GITHUB_WORKSPACE\lib\android_build"
5372
.\gradlew.bat maesdk:test
54-
env:
55-
ANDROID_SDK_ROOT: "C:\\Android\\android-sdk"
56-
ANDROID_HOME: "C:\\Android\\android-sdk"
57-
ANDROID_NDK: "C:\\Android\\android-ndk-r20"
58-
ANDROID_NDK_HOME: "C:\\Android\\android-ndk-r20"
73+
working-directory: lib\android_build
5974
- name: Upload Reports
6075
if: failure()
6176
uses: actions/upload-artifact@v1

build-android.cmd

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ pushd "%~dp0"
44
REM Users may override the default %ANDROID_SDK_ROOT% location if necessary
55

66
if "%ANDROID_SDK_ROOT%" == "" set "ANDROID_SDK_ROOT=C:\Android\android-sdk"
7-
if "%ANDROID_NDK_VERSION%" == "" set "ANDROID_NDK_VERSION=21.1.6352462"
7+
if "%ANDROID_NDK_VERSION%" == "" set "ANDROID_NDK_VERSION=21.4.7075529"
88
if "%ANDROID_CMAKE_VERSION%" == "" set "ANDROID_CMAKE_VERSION=3.10.2.4988404"
99
if "%ANDROID_HOME%" == "" set "ANDROID_HOME=%ANDROID_SDK_ROOT%"
1010
if "%ANDROID_NDK%" == "" set "ANDROID_NDK=%ANDROID_SDK_ROOT%\ndk\%ANDROID_NDK_VERSION%"
@@ -18,7 +18,7 @@ set "PATH=%ANDROID_SDK_ROOT%\cmake\%ANDROID_CMAKE_VERSION%\bin;%ANDROID_NDK%;%PA
1818

1919
echo Building SDK
2020
pushd .\lib\android_build
21-
call .\gradlew.bat assemble %*
21+
call .\gradlew.bat maesdk:assemble app:assemble %*
2222
popd
2323

2424
echo Building Tests

docs/cpp-start-android.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Default environment variables used by `build-android.cmd` script:
2222

2323
```console
2424

25-
set "ANDROID_NDK_VERSION=21.1.6352462"
25+
set "ANDROID_NDK_VERSION=21.4.7075529"
2626
set "ANDROID_CMAKE_VERSION=3.10.2.4988404"
2727
set "ANDROID_SDK_ROOT=C:\Android\android-sdk"
2828
set "ANDROID_HOME=%ANDROID_SDK_ROOT%"

lib/android_build/app/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ android {
3434
sourceCompatibility JavaVersion.VERSION_1_8
3535
targetCompatibility JavaVersion.VERSION_1_8
3636
}
37+
namespace 'com.microsoft.applications.events.maesdktest'
3738
}
3839

3940
dependencies {

lib/android_build/app/src/main/AndroidManifest.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.microsoft.applications.events.maesdktest">
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
43

54
<uses-permission android:name="android.permission.INTERNET"/>
65

lib/android_build/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
mavenCentral()
88
}
99
dependencies {
10-
classpath 'com.android.tools.build:gradle:4.0.1'
10+
classpath 'com.android.tools.build:gradle:7.3.1'
1111

1212
// NOTE: Do not place your application dependencies here; they belong
1313
// in the individual module build.gradle files
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri Jun 05 11:46:20 PDT 2020
1+
#Wed Feb 01 08:36:33 EET 2023
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
45
zipStoreBase=GRADLE_USER_HOME
56
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

0 commit comments

Comments
 (0)