From b3f81b70b1cd9ed039c6bb588642e9f2f0ce60e1 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sun, 28 Apr 2024 10:28:51 +0800 Subject: [PATCH] Use c++ modules --- .github/workflows/PR.yml | 6 ++++++ .github/workflows/android.yml | 6 ++++++ app/build.gradle.kts | 4 ++-- app/src/main/jni/CMakeLists.txt | 5 ++++- app/src/main/jni/biliroaming.cc | 5 ++++- app/src/main/jni/dex_builder | 2 +- 6 files changed, 23 insertions(+), 5 deletions(-) diff --git a/.github/workflows/PR.yml b/.github/workflows/PR.yml index a2de179e31..b9b7b3d75b 100644 --- a/.github/workflows/PR.yml +++ b/.github/workflows/PR.yml @@ -28,6 +28,11 @@ jobs: distribution: 'temurin' java-version: '17' cache: 'gradle' + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + - uses: seanmiddleditch/gha-setup-ninja@master + with: + version: 1.12.0 - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -35,6 +40,7 @@ jobs: restore-keys: ${{ runner.os }} - name: Build with Gradle run: | + sudo rm -rf $ANDROID_HOME/cmake echo 'org.gradle.caching=true' >> gradle.properties echo 'org.gradle.parallel=true' >> gradle.properties echo 'org.gradle.vfs.watch=true' >> gradle.properties diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index c71945a4c0..7c1df324e3 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -23,6 +23,11 @@ jobs: distribution: 'temurin' java-version: 17 cache: 'gradle' + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + - uses: seanmiddleditch/gha-setup-ninja@master + with: + version: 1.12.0 - name: Retrieve version run: | echo VERSION=$(echo ${{ github.event.head_commit.id }} | head -c 10) >> $GITHUB_ENV @@ -33,6 +38,7 @@ jobs: restore-keys: ${{ runner.os }} - name: Build with Gradle run: | + sudo rm -rf $ANDROID_HOME/cmake echo 'org.gradle.caching=true' >> gradle.properties echo 'org.gradle.parallel=true' >> gradle.properties echo 'org.gradle.vfs.watch=true' >> gradle.properties diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f78ab0a73f..cacfa4840e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -47,7 +47,7 @@ android { namespace = "me.iacn.biliroaming" compileSdk = 34 buildToolsVersion = "34.0.0" - ndkVersion = "26.0.10792818" + ndkVersion = "27.0.11718014-beta1" buildFeatures { prefab = true @@ -115,7 +115,7 @@ android { externalNativeBuild { cmake { path("src/main/jni/CMakeLists.txt") - version = "3.22.1+" + version = "3.28.0+" } } } diff --git a/app/src/main/jni/CMakeLists.txt b/app/src/main/jni/CMakeLists.txt index 130cb3e778..c11a7f6de5 100644 --- a/app/src/main/jni/CMakeLists.txt +++ b/app/src/main/jni/CMakeLists.txt @@ -1,6 +1,9 @@ -cmake_minimum_required(VERSION 3.4.1) +cmake_minimum_required(VERSION 3.28) project(biliroaming) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_SCAN_FOR_MODULES ON) + find_package(cxx REQUIRED CONFIG) link_libraries(cxx::cxx) diff --git a/app/src/main/jni/biliroaming.cc b/app/src/main/jni/biliroaming.cc index 5d6fbd7894..6910cc508a 100644 --- a/app/src/main/jni/biliroaming.cc +++ b/app/src/main/jni/biliroaming.cc @@ -1,5 +1,4 @@ #include -#include #include #include #include @@ -8,6 +7,10 @@ #include #include #include +#include +#include + +import dex_helper; #define LOG_TAG "BiliRoaming" #define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__) diff --git a/app/src/main/jni/dex_builder b/app/src/main/jni/dex_builder index b5a00f2ea9..61c4480aa2 160000 --- a/app/src/main/jni/dex_builder +++ b/app/src/main/jni/dex_builder @@ -1 +1 @@ -Subproject commit b5a00f2ea94ad4c3b92054fd53896dbb429298f9 +Subproject commit 61c4480aa2b8ab7cb8e3caf6b2b837d4dd4c45b3