diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml index f0e89a5da..30fcc2739 100644 --- a/.github/workflows/debug.yml +++ b/.github/workflows/debug.yml @@ -36,6 +36,14 @@ jobs: distribution: 'temurin' cache: gradle + - name: Set up Android SDK + uses: android-actions/setup-android@v3 + + - name: Install Android SDK (API 35) + run: | + sdkmanager --install "platform-tools" "platforms;android-35" "build-tools;35.0.0" + yes | sdkmanager --licenses + - name: Create Local Properties run: touch local.properties @@ -170,4 +178,3 @@ jobs: } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_APP_DISTRIBUTION_WEBHOOK_URL }} - diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 81b85496f..d5b0c048b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,6 +91,14 @@ jobs: distribution: 'temurin' cache: gradle + - name: Set up Android SDK + uses: android-actions/setup-android@v3 + + - name: Install Android SDK (API 35) + run: | + sdkmanager --install "platform-tools" "platforms;android-35" "build-tools;35.0.0" + yes | sdkmanager --licenses + - name: Grant execute permission for gradlew run: chmod +x gradlew diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5fb1be420..b705aadf1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -15,7 +15,7 @@ plugins { android { namespace = "com.eatssu.android" - compileSdk = 35 + compileSdk = 36 /** * 현재 팀 내 안드로이드 OS 버전 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 424817ce1..599a78f34 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -57,11 +57,26 @@ + + + + + @@ -232,4 +247,4 @@ - \ No newline at end of file + diff --git a/app/src/main/java/com/eatssu/android/presentation/mypage/MyPageFragment.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/MyPageFragment.kt index dd3c43616..a62fe52c1 100644 --- a/app/src/main/java/com/eatssu/android/presentation/mypage/MyPageFragment.kt +++ b/app/src/main/java/com/eatssu/android/presentation/mypage/MyPageFragment.kt @@ -234,8 +234,26 @@ class MyPageFragment : BaseFragment(ScreenId.MYPAGE_MAIN) } private fun moveToOss() { + val context = requireContext() try { - startActivity(Intent(requireContext(), OssLicensesMenuActivity::class.java)) + val licensesId = context.resources.getIdentifier("third_party_licenses", "raw", context.packageName) + val metadataId = context.resources.getIdentifier( + "third_party_license_metadata", + "raw", + context.packageName + ) + if (licensesId == 0 || metadataId == 0) { + showErrorToast(getString(R.string.toast_oss_load_fail)) + Timber.e( + "OSS raw resource missing. third_party_licenses=$licensesId third_party_license_metadata=$metadataId" + ) + return + } + + startActivity( + Intent(context, OssLicensesMenuActivity::class.java) + .addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY) + ) } catch (e: Exception) { showErrorToast(getString(R.string.toast_oss_load_fail)) Timber.e("Error opening OSS Licenses: ${e.message}") diff --git a/app/src/main/res/raw/keep.xml b/app/src/main/res/raw/keep.xml new file mode 100644 index 000000000..69bd6ce68 --- /dev/null +++ b/app/src/main/res/raw/keep.xml @@ -0,0 +1,3 @@ + + diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index a2a0fe9d1..a3d37fbc9 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -2,7 +2,6 @@ plugins { alias(libs.plugins.android.library) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.serialization) - alias(libs.plugins.google.services) } android { @@ -47,4 +46,4 @@ dependencies { implementation(libs.firebase.analytics) implementation(libs.kotlinx.serialization.json) -} \ No newline at end of file +} diff --git a/core/design-system/build.gradle.kts b/core/design-system/build.gradle.kts index 88ddcd2ff..dff6b9825 100644 --- a/core/design-system/build.gradle.kts +++ b/core/design-system/build.gradle.kts @@ -60,4 +60,4 @@ dependencies { //coil: 이미지 로딩 implementation(libs.coil.compose) -} \ No newline at end of file +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 00064a0bc..1c9518b6e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,4 +1,4 @@ -#Fri Feb 17 11:26:14 KST 2023 +#Wed Mar 04 15:19:02 KST 2026 distributionBase=GRADLE_USER_HOME distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip distributionPath=wrapper/dists diff --git a/gradlew b/gradlew index 4f906e0c8..6e7688414 100755 --- a/gradlew +++ b/gradlew @@ -80,6 +80,51 @@ case "`uname`" in ;; esac +# Workaround: AGP's JdkImageTransform runs `jlink` and can fail on some +# GraalVM Community builds (e.g., missing `jdk.internal.vm.ci`). +# If we're on macOS and currently using GraalVM, prefer a non-Graal JDK 17 +# installation if one is available. +if [ "$darwin" = "true" ] ; then + _opencode_java_cmd="java" + if [ -n "$JAVA_HOME" ] && [ -x "$JAVA_HOME/bin/java" ] ; then + _opencode_java_cmd="$JAVA_HOME/bin/java" + fi + + "$_opencode_java_cmd" -version 2>&1 | grep -qi "GraalVM" >/dev/null 2>&1 + if [ $? -eq 0 ] ; then + _opencode_found_java_home="" + for _opencode_base in "$HOME/Library/Java/JavaVirtualMachines" "/Library/Java/JavaVirtualMachines" ; do + if [ -d "$_opencode_base" ] ; then + for _opencode_home in "$_opencode_base"/*/Contents/Home ; do + if [ -x "$_opencode_home/bin/java" ] ; then + "$_opencode_home/bin/java" -version 2>&1 | grep -qi "GraalVM" >/dev/null 2>&1 && continue + "$_opencode_home/bin/java" -version 2>&1 | grep -q '"17\.' >/dev/null 2>&1 || continue + _opencode_found_java_home="$_opencode_home" + break + fi + done + fi + [ -n "$_opencode_found_java_home" ] && break + done + + if [ -z "$_opencode_found_java_home" ] ; then + for _opencode_home in "/Applications/Android Studio.app/Contents/jbr/Contents/Home" ; do + if [ -x "$_opencode_home/bin/java" ] ; then + "$_opencode_home/bin/java" -version 2>&1 | grep -qi "GraalVM" >/dev/null 2>&1 && continue + "$_opencode_home/bin/java" -version 2>&1 | grep -q '"17\.' >/dev/null 2>&1 || continue + _opencode_found_java_home="$_opencode_home" + break + fi + done + fi + + if [ -n "$_opencode_found_java_home" ] ; then + JAVA_HOME="$_opencode_found_java_home" + export JAVA_HOME + fi + fi +fi + CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar