mcpField
1
1k-platform-requirements

1k-platform-requirements

github.com/onekeyhq開発2.5k55 回インストール今日更新
リポジトリ

1k-platform-requirements について

OneKey app-monorepo の開発者向けに、デバイス互換性と開発環境の要件をまとめたガイドです。OS ごとの確認方法と、ツールおよび各プラットフォームの最低バージョンを示します。

主な機能

  1. 01OS に応じた環境チェック
  2. 02開発ツールの必須バージョン一覧
  3. 03プラットフォーム最低バージョンの整理
  4. 04バージョン確認コマンドの提示

活用シーン

  1. 01デバイスで app-monorepo を実行できるか確認
  2. 02Android と iOS のビルド環境を検証
  3. 03ブラウザー拡張機能の最低バージョンを確認
  4. 04Electron デスクトップの OS 互換性を評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/onekeyhq/app-monorepo --skill 1k-platform-requirements

インストール後、Claude Code で/1k-platform-requirementsを入力して読み込まれたか確認します。

詳細

OneKey プラットフォーム要件

デバイスの互換性チェック

ユーザーからデバイスで app-monorepo を実行できるか尋ねられた場合は、環境チェックを実行して、必要なすべてのツールが正しいバージョンでインストールされていることを確認してください。

重要:Xcode、CocoaPods、Ruby は iOS 開発に必要な macOS 専用のツールです。macOS 以外のシステムでは、これらのチェックをスキップしてください。

環境の自動検出とチェック

まず、オペレーティングシステムを検出します。

uname -s
  • 出力が Darwin の場合 → macOS です。Xcode/CocoaPods を含むすべてのツールをチェックします
  • 出力が Linux またはその他の場合 → Xcode/CocoaPods/Ruby のチェックをスキップします

開発環境の要件

ツール必要なバージョン確認方法プラットフォーム
Node.js>=22node -vすべて
Yarn4.12.0yarn -vすべて
Java/JDK17+java -versionすべて
Gradle8.13./gradlew --versionすべて
Go1.24.0go versionすべて
Ruby2.7+(3.x を推奨)ruby -vmacOS のみ
CocoaPods1.16.2pod --versionmacOS のみ
Xcode26.2xcodebuild -versionmacOS のみ
Android StudioLadybug(2024.2.1)以降Android Studio > Aboutすべて

プラットフォームの最小バージョンの概要

プラットフォーム最小バージョン備考
AndroidAPI 24(Android 7.0 Nougat)Expo SDK によって設定
iOS15.5デプロイメントターゲット
Chrome 拡張機能Chrome 111 以降MAIN ワールドへのインジェクションに必要
Firefox 拡張機能最新の安定版Chrome manifest v2 に準拠
デスクトップ(Electron)Electron 39.x以下の OS 要件を参照
macOS10.15 以降(Catalina)Electron 39 の要件
WindowsWindows 10 以降Electron 39 の要件
LinuxUbuntu 20.04 以降Electron 39 の要件

バージョンの確認/更新方法

Android minSdkVersion

場所:Expo によって設定され、apps/mobile/android/app/build.gradle:142 で参照されます

現在の値の確認方法:

cd apps/mobile/android && ./gradlew -q properties 2>&1 | grep -i "minSdk"

設定の流れ:

  1. apps/mobile/android/app/build.gradle は rootProject.ext.minSdkVersion を参照します
  2. 値は ExpoRootProjectPlugin.kt の expo-modules-autolinking によって設定されます
  3. expo バージョンカタログで上書きされない限り、デフォルト値は 24 です
iOS デプロイメントターゲット

場所:apps/mobile/ios/Podfile:18

確認方法:

grep "platform :ios" apps/mobile/ios/Podfile

設定:

platform :ios, podfile_properties['ios.deploymentTarget'] || '15.5'

Xcode プロジェクトでも確認できます:

grep "IPHONEOS_DEPLOYMENT_TARGET" apps/mobile/ios/OneKeyWallet.xcodeproj/project.pbxproj | head -5
Chrome 拡張機能の最小バージョン

場所:apps/ext/src/manifest/chrome_v3.js:9

確認方法:

grep "minimum_chrome_version" apps/ext/src/manifest/chrome_v3.js

注:MAIN ワールドへのコンテンツスクリプトのインジェクション(manifest v3 の機能)には、バージョン 111 以降が必要です。

Firefox 拡張機能

場所:apps/ext/src/manifest/firefox.js

Firefox の manifest は Chrome の manifest を拡張しますが、要件が異なる場合があります。現在は Chrome manifest v2 のパターンに準拠しています。

デスクトップ(Electron)のバージョン

場所:apps/desktop/package.json

確認方法:

grep '"electron":' apps/desktop/package.json

現在のバージョン:Electron 39.5.1

Electron 39 の OS 要件:

  • macOS:10.15 以降(Catalina)
  • Windows:Windows 10 以降
  • Linux:Ubuntu 20.04 以降、Fedora 32 以降、Debian 10 以降

参照先:OS の互換性については、https://releases.electronjs.org/ で Electron のリリースを確認してください。

SDK バージョンの一括確認コマンド

Android SDK のすべてのバージョンを一度に確認するには、次を実行します。

cd apps/mobile/android && ./gradlew -q --no-configuration-cache properties 2>&1 | grep -E "(minSdk|compileSdk|targetSdk|buildTools|ndk|kotlin):"

想定される出力形式:

- buildTools:  36.0.0
- minSdk:      24
- compileSdk:  36
- targetSdk:   36
- ndk:         27.1.12297006
- kotlin:      2.1.20

バージョン更新時の考慮事項

最小バージョンを更新する場合:

  1. Android:Expo SDK の更新によって minSdkVersion が変更される場合があります。Expo のリリースノートを確認してください。
  2. iOS:Podfile と Xcode プロジェクトの設定を両方更新してください。
  3. 拡張機能:manifest の変更は、すべての Chromium ブラウザー(Chrome、Edge、Brave、Opera)に影響します。
  4. Electron:メジャーバージョンの更新によって OS のサポートが終了する場合があります。Electron のリリースノートを確認してください。

開発環境の詳細

Node.js

必要なバージョン:>=22

場所:package.json:10-12

設定の確認方法:

grep -A2 '"engines"' package.json

設定:

"engines": {
  "node": ">=22"
}
Yarn

必須:4.12.0(Yarn Berry/Yarn 4)

場所:package.json:3

設定の確認方法:

grep '"packageManager"' package.json

設定:

"packageManager": "[email protected]"
Java/JDK

必須:JDK 17 以降

理由:Gradle 8.13 には Java 17 以降が必要です。プロジェクトでは Kotlin のコンパイルに jvmTarget = "17" を使用しています。

場所:apps/mobile/android/build.gradle:101

設定の確認方法:

grep "jvmTarget" apps/mobile/android/build.gradle
Gradle

必須:8.13

場所:apps/mobile/android/gradle/wrapper/gradle-wrapper.properties:3

設定の確認方法:

grep "distributionUrl" apps/mobile/android/gradle/wrapper/gradle-wrapper.properties

設定:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
Ruby(macOS のみ)

必須:2.7 以降(Apple Silicon では 3.x を推奨)

プラットフォーム:macOS のみ — iOS 開発に必要です

理由:CocoaPods と iOS ビルドツールに必要です。

確認方法:

ruby -v

注:macOS に付属する Ruby は古い場合があります。rbenv または rvm を使用して Ruby のバージョンを管理してください。

CocoaPods(macOS のみ)

必須:1.16.2

プラットフォーム:macOS のみ — iOS 開発に必要です

場所:apps/mobile/ios/Podfile.lock(最終行)

設定の確認方法:

tail -1 apps/mobile/ios/Podfile.lock

インストール方法:

gem install cocoapods -v 1.16.2
Go

必須:1.24.0

理由:iOS で gopenpgp 暗号化ライブラリをコンパイルするために必要です。

場所:apps/mobile/ios/Podfile:33

設定の確認方法:

grep "go_version = " apps/mobile/ios/Podfile
Xcode(macOS のみ)

必須:26.2

プラットフォーム:macOS のみ — iOS 開発に必要です

理由:最新の SDK 機能とデプロイメントターゲットを使用して iOS アプリをビルドするために必要です。

確認方法:

xcodebuild -version

注:Xcode のバージョンによって、利用可能な iOS SDK とシミュレーターのバージョンが決まります。

Android Studio

必須:Ladybug(2024.2.1)以降

理由:compileSdk 36 には、SDK 36 に対応した Android Studio が必要です。

確認方法:Android Studio > Android Studio について

必須コンポーネント:

  • Android SDK Platform 36
  • Android SDK Build-Tools 36.0.0
  • NDK 27.1.12297006
  • CMake(ネイティブモジュール用)

環境のクイックチェック用スクリプト

macOS 用(iOS ツールを含む完全なチェック)
echo "=== Development Environment Check (macOS) ===" && \
echo "OS: $(uname -s) $(uname -r)" && \
echo "Node.js: $(node -v 2>/dev/null || echo 'NOT INSTALLED')" && \
echo "Yarn: $(yarn -v 2>/dev/null || echo 'NOT INSTALLED')" && \
echo "Java: $(java -version 2>&1 | head -1 || echo 'NOT INSTALLED')" && \
echo "Go: $(go version 2>/dev/null || echo 'NOT INSTALLED')" && \
echo "Ruby: $(ruby -v 2>/dev/null || echo 'NOT INSTALLED')" && \
echo "CocoaPods: $(pod --version 2>/dev/null || echo 'NOT INSTALLED')" && \
echo "Xcode: $(xcodebuild -version 2>/dev/null | head -1 || echo 'NOT INSTALLED')" && \
echo "Gradle (configured): $(grep 'distributionUrl' apps/mobile/android/gradle/wrapper/gradle-wrapper.properties 2>/dev/null | sed 's/.*gradle-\(.*\)-bin.zip/\1/' || echo 'N/A')"
Linux/Windows 用(iOS 専用ツールをスキップ)
echo "=== Development Environment Check (Non-macOS) ===" && \
echo "OS: $(uname -s) $(uname -r)" && \
echo "Node.js: $(node -v 2>/dev/null || echo 'NOT INSTALLED')" && \
echo "Yarn: $(yarn -v 2>/dev/null || echo 'NOT INSTALLED')" && \
echo "Java: $(java -version 2>&1 | head -1 || echo 'NOT INSTALLED')" && \
echo "Go: $(go version 2>/dev/null || echo 'NOT INSTALLED')" && \
echo "Gradle (configured): $(grep 'distributionUrl' apps/mobile/android/gradle/wrapper/gradle-wrapper.properties 2>/dev/null | sed 's/.*gradle-\(.*\)-bin.zip/\1/' || echo 'N/A')" && \
echo "" && \
echo "Note: Xcode, CocoaPods, Ruby are macOS-only (required for iOS development)"
スマートチェック(OS を自動検出)
if [ "$(uname -s)" = "Darwin" ]; then
  echo "=== macOS Detected - Full Environment Check ===" && \
  echo "Node.js: $(node -v 2>/dev/null || echo 'NOT INSTALLED')" && \
  echo "Yarn: $(yarn -v 2>/dev/null || echo 'NOT INSTALLED')" && \
  echo "Java: $(java -version 2>&1 | head -1 || echo 'NOT INSTALLED')" && \
  echo "Go: $(go version 2>/dev/null || echo 'NOT INSTALLED')" && \
  echo "Ruby: $(ruby -v 2>/dev/null || echo 'NOT INSTALLED')" && \
  echo "CocoaPods: $(pod --version 2>/dev/null || echo 'NOT INSTALLED')" && \
  echo "Xcode: $(xcodebuild -version 2>/dev/null | head -1 || echo 'NOT INSTALLED')"
else
  echo "=== Non-macOS Detected - Partial Check ===" && \
  echo "Node.js: $(node -v 2>/dev/null || echo 'NOT INSTALLED')" && \
  echo "Yarn: $(yarn -v 2>/dev/null || echo 'NOT INSTALLED')" && \
  echo "Java: $(java -version 2>&1 | head -1 || echo 'NOT INSTALLED')" && \
  echo "Go: $(go version 2>/dev/null || echo 'NOT INSTALLED')" && \
  echo "Note: iOS development requires macOS with Xcode, CocoaPods, Ruby"
fi

関連ファイル

コメント