メインコンテンツにジャンプ

Capacitor Linux上の開発: 完全なセットアップガイド

Set up a full Capacitor workflow on Ubuntu, Fedora or Arch: Node or Bun, JDK, Android SDK, emulator with KVM, USB devices with udev rules, and iOS builds without a Mac using Capgo Build.

Article Credits

マーティン・ドナディュー

ライター

バレリア

レビュアー

ジョーダン

エディター

Capacitor開発のためのLinuxの完全なセットアップガイド

LinuxはCapacitorの仕事に適したプラットフォームです。ウェブ層はNodeツールのみ、Androidツールはネイティブで動作し、LinuxエミュレータはKVMでよくWindows上の同等のエミュレータよりも速いことがよくあります。ただし、iOSは単一のギャップです: XcodeはmacOS上にしか存在しないため、その部分ではクラウドビルドサービスが必要です。

このガイドでは、Ubuntu 24.04、Fedora 42、およびArchでテストされた完全なLinuxセットアップを歩みます。LinuxからiOSビルドまで Capgoビルド、Macを所有する必要なく両方のストアを配信できます。

Linuxで動作するものと動作しないもの

タスク Linux
ウェブ開発、Vite、フレームワークツール はい
cap add android, cap sync, Gradleビルド はい
Androidエミュレータ はい、KVM
物理AndroidデバイスのUSB経由 はい、udevルール
リモートデバッグ用Chrome DevTools はい
cap add ios, cap sync ios Capgoのソリューションマーケティングページで使用される短いUIラベルまたはナビゲーションアイテムです。ソリューション/ベータテストページで使用されます。 (生成してコピー)
はい、CocoaPodsをスキップする警告が表示されます はい、macOSが必要です。 Capgo を使用してください。
はい、macOSが必要です。__CAPGO_KEEP_0__を使用してビルド iOSシミュレーター
いいえ iOSシミュレーター

Safari Web Inspector for iOS WebView

1) Install Node or Bun

CapacitorのCLIは、Node 20以上が必要です。Bunはランタイムとパッケージマネージャとして機能し、インストールが速くなります。

# Bun (recommended)
curl -fsSL https://bun.sh/install | bash

# Or Node via your package manager
# Ubuntu / Debian
sudo apt install -y nodejs npm
# Fedora
sudo dnf install -y nodejs
# Arch
sudo pacman -S nodejs npm

バージョンを確認してください。

bun --version
node --version

2) JDKをインストールしてください。

Capacitor 7と8は、JDK 21が必要です。ディストリビューションパッケージは問題ありません。

# Ubuntu / Debian
sudo apt install -y openjdk-21-jdk

# Fedora
sudo dnf install -y java-21-openjdk-devel

# Arch
sudo pacman -S jdk21-openjdk

設定 JAVA_HOME または ~/.bashrc or ~/.zshrc。

# Ubuntu / Debian
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
# Fedora
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk
# Arch
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk

または JAVA_HOME 3) Android __CAPGO_KEEP_0__をインストールしてください。 Unsupported class file major version during cap run android.

SDK

Android StudioからGUIツールが提供されますが、コマンドラインツールだけは、ビルドに十分な軽量なものです。

オプションA: Android Studio

Android StudioサイトからLinux tarballをダウンロードし、展開してください:

sudo tar -xzf android-studio-*.tar.gz -C /opt
/opt/android-studio/bin/studio.sh

初回起動時、セットアップウィザードはSDKをSDKにインストールします。 ~/Android/Sdk.

Capacitorの cap open android __CAPGO_KEEP_0__に、Studioの場所を教えてください。

export CAPACITOR_ANDROID_STUDIO_PATH=/opt/android-studio/bin/studio.sh

オプションB: コマンドラインツールのみ

mkdir -p ~/Android/Sdk/cmdline-tools
cd ~/Android/Sdk/cmdline-tools
# Download "Command line tools only" for Linux from the Android developer site, then:
unzip commandlinetools-linux-*.zip
mv cmdline-tools latest

シェルプロファイルにSDKを追加してください。

export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/emulator

Capacitorに必要なものをインストールし、ライセンスを承認してください。

sdkmanager "platform-tools" "platforms;android-36" "build-tools;36.0.0" "emulator"
sdkmanager --licenses

プラットフォームバージョンを__CAPGO_KEEP_0__の生成された compileSdkVersion __CAPGO_KEEP_0__ 8は36を使用し、__CAPGO_KEEP_1__ 7は35を使用します。 android/variables.gradle.Capacitor 8 の使用 36; Capacitor 7 の使用 35.

4) KVMをエミュレータに有効化してください

KVMが無いとエミュレータは使えません。CPUが仮想化をサポートしているかどうか確認してください:

egrep -c '(vmx|svm)' /proc/cpuinfo

0より大きい結果が出ればサポートされていることを意味します。KVMをインストールし、ユーザーにアクセス権を付与してください:

# Ubuntu / Debian
sudo apt install -y qemu-kvm
# Fedora
sudo dnf install -y qemu-kvm
# Arch
sudo pacman -S qemu-base

sudo usermod -aG kvm $USER

ログアウトし、再度ログインしてください。デバイスを作成し、起動してください:

sdkmanager "system-images;android-36;google_apis;x86_64"
avdmanager create avd -n pixel8 -k "system-images;android-36;google_apis;x86_64" -d pixel_8
emulator -avd pixel8

エミュレータが /dev/kvm パーミッションに関する問題を訴えている場合、グループ変更がまだ反映されていない可能性があります。再起動してください。

5) 物理デバイスのUSBアクセス

Linuxでは、通常のユーザーはデフォルトでUSBデバイスにアクセスできません。udevルールを追加してください:

sudo tee /etc/udev/rules.d/51-android.rules > /dev/null <<'EOF'
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2a70", MODE="0666", GROUP="plugdev"
EOF
sudo udevadm control --reload-rules
sudo usermod -aG plugdev $USER

上記のベンダーIDはGoogle、Samsung、OnePlusをカバーしています。自分のベンダーIDを調べるには lsusb ifコマンドを使用してください。リストに表示されていない場合、

adb devices

6) Capacitorプロジェクトを作成します。

bun create vite@latest my-app
cd my-app
bun install
bun add @capacitor/core @capacitor/android @capacitor/ios
bun add -d @capacitor/cli
bunx cap init
bun run build
bunx cap add android
bunx cap add ios

cap add ios 6) __CAPGO_KEEP_0__プロジェクトを作成してください ios/ フォルダはまだ作成され、後のCapgo ビルドで使用されます。

エミュレータまたはデバイスで実行:

bunx cap run android

ChromeでWebViewをデバッグする: chrome://inspect.

7) Linux用のリリースビルド

Android用のリリースビルドは完全にローカルで行われます。JDKの keytool:

keytool -genkeypair -v -keystore release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release

次にビルド:

cd android
./gradlew bundleRelease

AABは android/app/build/outputs/bundle/release/に到着します。 Capgo Android用ビルド CLI ビルドを使用してAndroid用にビルドします。

8) LinuxからiOSにCapgoビルド

8) LinuxからiOS用に__CAPGO_KEEP_0__ ビルドを使用してビルドします。

  1. Webアセットをビルドし、__CAPGO_KEEP_0__にSyncします。 ios/.
  2. iOSの署名資格情報を一度保存してください。
  3. クラウドビルドを要求します。 Capgoは、テストフライトにアップロードするために署名とコンパイルを行います。
bun run build
bunx cap sync ios

bunx @capgo/cli@latest login
bunx @capgo/cli@latest build init --platform ios
bunx @capgo/cli@latest build request com.example.app --platform ios --build-mode release

build init Linux上でCapacitorを開発する際の設定手順をご案内します。 Linuxでは、App Store ConnectのAPIキーはAppleのポータルで手動で作成します。 iOSビルドの手順書 iOSビルドの手順書 .p12 iOSビルドの手順書 iOSビルドの手順書iOSビルドの手順書 iOSビルドの手順書.

iOSビルドの手順書 Build an iOS app from Linux with Capacitor and Capgo Build.

9) Live Update をスキップする

Live Updates を使用すると、Linux から秒単位で JavaScript、HTML、CSS の変更を配信できます。 Capgo Live Updates:

bunx @capgo/cli@latest init
bun run build
bunx @capgo/cli@latest bundle upload --channel production

Reserve native builds for plugin changes, permission changes and Capacitor upgrades.

プラグインの変更、権限の変更、__CAPGO_KEEP_0__ のアップグレードにnativeビルドを予約します。

  • SDK location not found: ANDROID_HOME Linux の一般的な問題 android/local.properties with sdk.dir=/home/you/Android/Sdk.
  • Unsupported class file major version: JDK が間違っています。JDK 21 にポイントしてください。 JAVA_HOME JDK 21.
  • : KVM が有効になっていません。KVM の有効性とグループメンバーシップを確認してください。__CAPGO_KEEP_0__ ls -l /dev/kvm __CAPGO_KEEP_0__
  • adb devices 表示 no permissions: udev ルールが欠落しているか、再読み込みされていない。再読み込み後に機器を外し、再接続してください。
  • Gradle デーモンがメモリを超過している: 追加 org.gradle.jvmargs=-Xmx4g を android/gradle.properties.
  • ウェイランドとAndroid Studioの不具合Wayland と Android Studio の不具合 _JAVA_AWT_WM_NONREPARENTING=1 : Studio を起動する

ウィンドウが白いままの場合

Linux handles the full Capacitor loop for Android and the web layer natively, and often faster than other desktops. For iOS, generate the project locally, sync your assets, and let Capgo Build do the macOS part. Pair that with Live Updates and the only time you think about Xcode is when Apple changes its minimum SDK.

Capacitor アプリ用の即時更新

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

最新のブログ記事

Capgo gives you the best insights you need to create a truly professional mobile app.