Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android Gradle Plugin を 8.5.0 にアップグレード #133

Merged
merged 13 commits into from
Jul 31, 2024
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '18'
# java-version を 17 にしている理由は以下です
# - Android Gradle plugin 8.5 のデフォルト JDK version が 17
# - 17 は LTS であり、temurin では 2027年10月までサポート予定
java-version: '17'
cache: 'gradle'
- name: Copy gradle.properties
run: cp gradle.properties.example gradle.properties
Expand Down
16 changes: 16 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,22 @@
- [UPDATE] libwebrtc を 127.6533.1.1 に上げる
- @miosakuma
- @zztkm
- [UPDATE] Android Gradle Plugin (AGP) を 8.5.0 にアップグレードする
- Android Studion の AGP Upgrade Assistant を利用してアップグレードされた内容
- `com.android.tools.build:gradle` を 8.5.0 に上げる
- ビルドに利用される Gradle を 8.7 に上げる
- Android マニフェストからビルドファイルにパッケージを移動する
- AGP 8.5.0 対応で発生したビルドスクリプトのエラーを手動で修正した内容
- compileOptions を buildTypes から android ブロックに移動する
- Android 公式ドキュメントを参考にした修正
- https://developer.android.com/build/jdks?hl=ja#source-compat
- classifier を archiveClassifier に置き換える
- classifier は Gradle 8.0 で削除された
- https://docs.gradle.org/7.6/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:classifier
- compileSdkVersion と targetSdkVersion を 34 に上げる
- GitHub Actions で利用する JDK のバージョンを 17 にする
- JitPack でのビルドで利用する JDK のバージョンを 17 にする
- @zztkm
- [UPDATE] GitHub Actions の起動イベントに workflow_dispatch を追加
- @zztkm
- [UPDATE] GitHub Actions の定期実行をやめる
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'com.android.tools.build:gradle:8.5.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}"
classpath 'org.ajoberstar.grgit:grgit-gradle:5.2.0'
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion jitpack.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
jdk:
- openjdk11
- openjdk17
31 changes: 21 additions & 10 deletions sora-android-sdk/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ apply plugin: 'org.jlleitschuh.gradle.ktlint'
group = 'com.github.shiguredo'

android {
compileSdkVersion 32
compileSdkVersion 34

defaultConfig {
minSdkVersion 21
targetSdkVersion 32
targetSdkVersion 34

buildConfigField("String", "REVISION", "\"${grgit.head().abbreviatedId}\"")
buildConfigField("String", "LIBWEBRTC_VERSION", "\"${libwebrtc_version}\"")
Expand All @@ -24,21 +24,30 @@ android {
java.srcDirs += 'src/test/kotlin'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
// AGP 8.0 からデフォルトで false になった
// このオプションが true でないと、defaultConfig に含まれている
// buidlConfigField オプションが無効になってしまうため、true に設定する
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo してる...

// 参考: https://developer.android.com/build/releases/past-releases/agp-8-0-0-release-notes#default-changes
buildConfig true
}
buildTypes {
debug {
debuggable true
}
// Android Studio でのデバッグビルドタイプはデフォルトで debuggable true としてビルドされるため
// AGP Upgrade Assistant によって debug ブロックは削除された。
release {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

testOptions {
unitTests.includeAndroidResources = true
}
// AGP 8.0 からモジュールレベルの build script 内に namespace が必要になった
// 参考: https://developer.android.com/build/releases/past-releases/agp-8-0-0-release-notes#namespace-dsl
namespace 'jp.shiguredo.sora.sdk'
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
Expand Down Expand Up @@ -110,7 +119,9 @@ configurations.all {
}

task sourcesJar(type: Jar) {
classifier = 'sources'
// classifier は archiveClassifier に置き換えられました
// https://docs.gradle.org/7.6/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:classifier
archiveClassifier = 'sources'
from android.sourceSets.main.java.srcDirs
}

Expand Down
3 changes: 1 addition & 2 deletions sora-android-sdk/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jp.shiguredo.sora.sdk">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
</manifest>