◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/アプリ開発
◇ アプリ開発/2026-04-09中級

RorkアプリのAndroidビルドエラー解決ガイド — Gradle・SDKエラーの原因と対処法

RorkアプリのAndroidビルドで起きるGradleエラーやSDKバージョン不一致を症状別に解決します。BUILD FAILED、minSdkVersionの競合、Gradle Daemonのメモリ不足、KotlinとJavaの非互換など5つの症状について原因分析と対処手順を順に説明します。

troubleshooting26error5fix5Android55GradleSDKビルドエラー9

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=true

Step 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.zip

CI/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ビルドのトラブルシューティングをさらに深く

シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

◇ アプリ開発2026-10-15
EAS Build だけ「No matching variant」で落ちるとき、まず疑う手元の android/build
手元の Gradle は通るのに、EAS Build の Android だけが「No matching variant of project」で止まる。GitHub の報告を読み比べ、Windows で生成した autolinking のキャッシュが Linux のビルド機へ渡っていた経路と、ビルドを投げる前に確かめる診断スクリプトをまとめました。
◇ アプリ開発2026-09-23
落ちたはずなのに「固まる」と書かれる — Android のクラッシュが白い画面のまま残るとき
クラッシュレポートには例外が並ぶのに、利用者からは「固まる」としか報告されないことがあります。expo-updates と新アーキテクチャの組み合わせで Android の画面が白いまま残る仕組みと、復帰導線・異常終了の検知・原因の特定を順番に置いていく手順をまとめます。
◇ アプリ開発2026-09-16
消したはずのトークンが再起動で戻る — SecureStore の削除失敗を検知する設計
サインアウト直後に getItemAsync が null を返しても、Android のディスクには値が残っていることがあります。削除の成否を読み出しで確かめていた実装を、戻り値で判断する形へ書き直した記録です。