Rorkで生成したアプリをAndroid向けにビルドしようとしたとき、GradleのビルドスクリプトエラーやAndroid SDKのバージョン不一致といったエラーに遭遇することがあります。エラーメッセージが英語で長く、何が原因なのかわかりにくいと感じている方も多いのではないでしょうか。
この記事で扱う症状
Rork生成アプリで特によく報告されるAndroidビルドエラーは、大きく次の5パターンに分類できます。
- Gradleビルドスクリプトエラー(
BUILD FAILED・Could not resolveなど) - Android SDK / Build Tools バージョン不一致(
compileSdkVersion関連) - minSdkVersion の競合(ライブラリ要件との不整合)
- Gradle Daemon クラッシュ・メモリ不足(
Out of memory) - Kotlin / Java バージョン非互換(
Unsupported class file major version)
順番に症状・原因・解決手順を見ていきましょう。
症状① Gradleビルドスクリプトエラー(BUILD FAILED)
症状の説明
ビルドを実行すると、次のようなメッセージが表示されて失敗します。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Could not resolve com.android.tools.build:gradle:8.3.0.
または:
A problem occurred configuring root project 'RorkApp'.
> Could not resolve all files for configuration ':classpath'.
原因の分析
このエラーには主に3つの原因が考えられます。
- ネットワーク接続の問題: Gradleが依存パッケージをMavenリポジトリからダウンロードできていない
- Gradle バージョンの不一致:
android/build.gradleに記載されたGradleプラグインのバージョンが、Gradleラッパーのバージョンと対応していない - キャッシュの破損: ローカルのGradleキャッシュが中途半端な状態になっている
解決手順
Step 1: Gradleキャッシュをクリアする
# プロジェクトルートで実行
cd android
./gradlew clean
# それでも解決しない場合はキャッシュ全体を削除
rm -rf ~/.gradle/caches/Step 2: Gradleラッパーのバージョンを確認する
android/gradle/wrapper/gradle-wrapper.properties を開き、distributionUrl のバージョンを確認します。
# android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip次に android/build.gradle のAGP(Android Gradle Plugin)バージョンとの対応を確認します。
// android/build.gradle
buildscript {
dependencies {
// AGP 8.3 には Gradle 8.3+ が必要
classpath("com.android.tools.build:gradle:8.3.0")
}
}AGPとGradleの公式バージョン対応表 を参考に、対応するバージョンに揃えてください。
Step 3: リポジトリ設定を確認する
android/build.gradle または android/settings.gradle に google() と mavenCentral() が含まれていることを確認します。
// android/settings.gradle(新形式)
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
}
}症状② Android SDK / Build Tools バージョン不一致
症状の説明
Android Gradle plugin requires Java 17 to run. You are currently using Java 11.
または:
Minimum supported Gradle version is 8.0. Current version is 7.6.
さらに:
compileSdkVersion 33 is too old. Please update to compileSdkVersion 34 or higher.
原因の分析
Rorkが生成するアプリはExpo SDKの最新版に対応しており、Android SDK / Build Tools の推奨バージョンが定期的に更新されます。ローカルのAndroid StudioにインストールされているSDKバージョンが古い場合に発生します。
解決手順
Step 1: Android Studio で SDK を更新する
Android Studio を開き、Settings > Appearance & Behavior > System Settings > Android SDK を開いて、以下を確認・インストールします。
Android SDK Platform:
✅ Android 14 (API 34) — 推奨
✅ Android 13 (API 33) — 互換用
Android SDK Build-Tools:
✅ 34.0.0(最新)
Android SDK Command-line Tools:
✅ Latest
Android Emulator:
✅ 最新版
Step 2: app/build.gradle の compileSdkVersion を更新する
// android/app/build.gradle
android {
compileSdkVersion 34 // ← 最新に更新
buildToolsVersion "34.0.0" // ← 合わせて更新
defaultConfig {
minSdkVersion 24 // Rork推奨の最低バージョン
targetSdkVersion 34 // ← 最新に更新
}
}Step 3: Java バージョンを 17 に変更する
android/build.gradle に以下を追記します。
// android/build.gradle
allprojects {
tasks.withType(JavaCompile).tap {
configureEach {
options.release = 17
}
}
}または android/app/build.gradle の compileOptions を更新します。
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}症状③ minSdkVersion の競合
症状の説明
Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 24
declared in library [com.example.library:1.0.0]
原因の分析
使用しているライブラリ(特にカメラ・生体認証・AI関連)が要求する minSdkVersion が、アプリの設定より高い場合に発生します。Rorkで生成されたアプリにAI機能や高度なネイティブ機能を追加した場合によく見られます。
解決手順
Step 1: 要求バージョンを確認する
エラーメッセージに含まれるライブラリ名を確認し、そのライブラリが要求する minSdkVersion を調べます。
Step 2: app/build.gradle の minSdkVersion を引き上げる
android {
defaultConfig {
// 21 → 24(現在のRork推奨値)に更新
minSdkVersion 24
}
}Step 3: 影響を確認する
minSdkVersion を引き上げると、古いAndroidデバイス(API 21〜23)でアプリが動作しなくなります。Google Play Consoleの「Android 端末カバレッジ」で影響範囲を確認してから変更を行ってください。現在のAPI 24以上のシェアは全Androidデバイスの99%以上を占めるため、実質的な影響は軽微です。
Rorkアプリの Google Play 公開完全ガイド も合わせてご参照ください。
症状④ Gradle Daemon クラッシュ・メモリ不足
症状の説明
FAILURE: Build failed with an exception.
* What went wrong:
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
または:
java.lang.OutOfMemoryError: Java heap space
原因の分析
Gradleのビルドデーモンプロセスに割り当てられているメモリが不足しています。特に大規模なRorkアプリや複数のネイティブライブラリを使用している場合に発生しやすい問題です。
解決手順
Step 1: gradle.properties でメモリを増やす
android/gradle.properties を開き、JVM ヒープサイズを増やします。
# android/gradle.properties
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=trueStep 2: Gradle Daemon を再起動する
cd android
./gradlew --stop # 既存のデーモンを停止
./gradlew clean build # 新しいデーモンでビルドStep 3: ビルド並列処理を無効化する(一時的な回避策)
メモリが限られている環境では並列ビルドを無効にすると安定することがあります。
# android/gradle.properties
org.gradle.parallel=false症状⑤ Kotlin / Java バージョン非互換
症状の説明
error: class file has wrong version 61.0, should be 55.0
Unsupported class file major version 61
または:
'compileReleaseJavaWithJavac' task (current target is 1.8) and 'compileReleaseKotlin' task (current target is 17)
原因の分析
KotlinコンパイラとJavaコンパイラが異なるバージョンのJVMを対象としてコンパイルしています。Rorkが生成するアプリではKotlin 1.9以上を使用しており、JVM 17対応が求められます。
解決手順
Step 1: Kotlin バージョンと JVM ターゲットを統一する
// android/app/build.gradle
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17" // Kotlin と Java を統一
}
}Step 2: build.gradle の Kotlin バージョンを最新にする
// android/build.gradle
buildscript {
ext {
kotlinVersion = "2.0.0" // 最新の安定版
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
}
}解決できたかの確認方法
各エラーに対する修正を加えたら、以下の手順で動作確認を行います。
# ① ビルドのクリーン
cd android && ./gradlew clean
# ② デバッグビルドの実行
./gradlew assembleDebug
# ③ 成功メッセージを確認
# BUILD SUCCESSFUL in Xs というメッセージが表示されれば成功また、Rork Companion アプリや Expo Go でのプレビューと並行して、実機デバッグビルドでの動作確認を行うことをお勧めします。
予防策:再発防止のベストプラクティス
AndroidビルドエラーはRorkのアップデートや依存ライブラリの更新によって再発することがあります。以下の習慣で未然に防ぎましょう。
依存関係の定期的な更新: Expo SDKのアップデートに合わせて android/app/build.gradle の SDK バージョンも更新します。
Gradleバージョンのピン留め: gradle-wrapper.properties で特定バージョンを固定し、意図しないアップグレードを防ぎます。
# 安定バージョンを明示的に指定
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zipCI/CDでの自動ビルドテスト: GitHub Actionsなどを活用して、コードプッシュのたびにAndroidビルドが通ることを自動確認します。
# .github/workflows/android-build.yml(例)
- name: Build Android Debug APK
run: |
cd android
./gradlew assembleDebugエラーログの保存: ビルドエラーが発生したら ./gradlew assembleDebug --info > build_log.txt 2>&1 で詳細ログを保存し、比較しやすくしておく。
なお、Expo依存関係のバージョン問題については Rork アプリの Expo 依存関係エラー解決ガイド も合わせてご参照ください。
全体を振り返って
RorkアプリのAndroidビルドエラーは、Gradleのバージョン不一致・Android SDKの設定ミス・メモリ不足のいずれかが原因であることがほとんどです。エラーメッセージを見て焦る気持ちはよくわかりますが、本記事のチェックリストに沿って一つひとつ確認することで、ほとんどの問題は解決できます。
より広いReact Native / Expoのビルドエラー全般については Rork React Native ビルドエラー完全解決ガイド 2026 もぜひご参照ください。
Androidビルドのトラブルシューティングをさらに深く