ワンクリックで
1k-platform-requirements
Minimum SDK/OS version requirements for all OneKey platforms (iOS, Android, Chrome, Electron).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Minimum SDK/OS version requirements for all OneKey platforms (iOS, Android, Chrome, Electron).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Analytics event tracking for OneKey. Use when adding tracking events, logging to server, user behavior tracking, or business metrics. Covers the @LogToServer decorator pattern, logger scope/scene architecture, and common pitfalls. Triggers on "埋点", "统计", "打点", "数据追踪", "日志", "analytics", "tracking event", "Mixpanel", "LogToServer", "trackEvent", "defaultLogger".
Create test versions to verify app auto-update functionality and version migration.
Release branch management — checkout from release, prepare builds, pre-release diff checks, publish tracking, and sync back to x. Use this skill when managing release branches, creating branches for bundle releases, running pre-release diff checks, finalizing releases, or syncing release changes to x. Triggers on "bundle release", "release diff", "release publish", "release sync", "release checkout", "发布管理", "release 分支", "release management", "bundle-release", "bundle branch".
Code quality standards — lint (eslint/oxlint), type check (tsc), pre-commit hooks, and comment conventions. All comments must be in English.
Comprehensive PR code review for OneKey monorepo. Use when reviewing PRs, code changes, or diffs — covers security (secrets/PII leakage, supply-chain, AuthN/AuthZ), code quality (hooks, race conditions, null safety, concurrent requests), and OneKey-specific patterns (Fabric crashes, MIUI, BigNumber). Triggers on "review PR", "review this PR", "code review", "check this diff", "审查 PR", "代码审查", "review
Coding patterns and best practices — React components, promise handling, and TypeScript conventions.
| name | 1k-platform-requirements |
| description | Minimum SDK/OS version requirements for all OneKey platforms (iOS, Android, Chrome, Electron). |
| allowed-tools | Read, Grep, Glob, Bash |
When user asks if their device can run app-monorepo, run the environment check to verify all required tools are installed with correct versions.
Important: Xcode, CocoaPods, and Ruby are macOS only tools required for iOS development. On non-macOS systems, skip these checks.
First, detect the operating system:
uname -s
Darwin → macOS, check ALL tools including Xcode/CocoaPodsLinux or other → Skip Xcode/CocoaPods/Ruby checks| Tool | Required Version | How to Check | Platform |
|---|---|---|---|
| Node.js | >=22 | node -v | All |
| Yarn | 4.12.0 | yarn -v | All |
| Java/JDK | 17+ | java -version | All |
| Gradle | 8.13 | ./gradlew --version | All |
| Go | 1.24.0 | go version | All |
| Ruby | 2.7+ (recommended 3.x) | ruby -v | macOS only |
| CocoaPods | 1.16.2 | pod --version | macOS only |
| Xcode | 26.2 | xcodebuild -version | macOS only |
| Android Studio | Ladybug (2024.2.1)+ | Android Studio > About | All |
| Platform | Minimum Version | Notes |
|---|---|---|
| Android | API 24 (Android 7.0 Nougat) | Set by Expo SDK |
| iOS | 15.5 | Deployment target |
| Chrome Extension | Chrome 111+ | Required for MAIN world injection |
| Firefox Extension | Latest stable | Follows Chrome manifest v2 |
| Desktop (Electron) | Electron 39.x | See OS requirements below |
| macOS | 10.15+ (Catalina) | Electron 39 requirement |
| Windows | Windows 10+ | Electron 39 requirement |
| Linux | Ubuntu 20.04+ | Electron 39 requirement |
Location: Set by Expo, referenced in apps/mobile/android/app/build.gradle:142
How to check current value:
cd apps/mobile/android && ./gradlew -q properties 2>&1 | grep -i "minSdk"
Configuration chain:
apps/mobile/android/app/build.gradle references rootProject.ext.minSdkVersionexpo-modules-autolinking in ExpoRootProjectPlugin.ktLocation: apps/mobile/ios/Podfile:18
How to check:
grep "platform :ios" apps/mobile/ios/Podfile
Configuration:
platform :ios, podfile_properties['ios.deploymentTarget'] || '15.5'
Can also verify in Xcode project:
grep "IPHONEOS_DEPLOYMENT_TARGET" apps/mobile/ios/OneKeyWallet.xcodeproj/project.pbxproj | head -5
Location: apps/ext/src/manifest/chrome_v3.js:9
How to check:
grep "minimum_chrome_version" apps/ext/src/manifest/chrome_v3.js
Note: Version 111+ is required for MAIN world content script injection (manifest v3 feature).
Location: apps/ext/src/manifest/firefox.js
Firefox manifest extends Chrome manifest but may have different requirements. Currently follows Chrome manifest v2 patterns.
Location: apps/desktop/package.json
How to check:
grep '"electron":' apps/desktop/package.json
Current version: Electron 39.5.1
Electron 39 OS Requirements:
Reference: Check Electron releases for OS compatibility at https://releases.electronjs.org/
Run this to see all Android SDK versions at once:
cd apps/mobile/android && ./gradlew -q --no-configuration-cache properties 2>&1 | grep -E "(minSdk|compileSdk|targetSdk|buildTools|ndk|kotlin):"
Expected output format:
- buildTools: 36.0.0
- minSdk: 24
- compileSdk: 36
- targetSdk: 36
- ndk: 27.1.12297006
- kotlin: 2.1.20
When updating minimum versions:
Required: >=22
Location: package.json:10-12
How to check configuration:
grep -A2 '"engines"' package.json
Configuration:
"engines": {
"node": ">=22"
}
Required: 4.12.0 (Yarn Berry / Yarn 4)
Location: package.json:3
How to check configuration:
grep '"packageManager"' package.json
Configuration:
"packageManager": "yarn@4.12.0"
Required: JDK 17+
Why: Gradle 8.13 requires Java 17+. The project uses jvmTarget = "17" for Kotlin compilation.
Location: apps/mobile/android/build.gradle:101
How to check configuration:
grep "jvmTarget" apps/mobile/android/build.gradle
Required: 8.13
Location: apps/mobile/android/gradle/wrapper/gradle-wrapper.properties:3
How to check configuration:
grep "distributionUrl" apps/mobile/android/gradle/wrapper/gradle-wrapper.properties
Configuration:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
Required: 2.7+ (recommended 3.x for Apple Silicon)
Platform: macOS only - required for iOS development
Why: Required for CocoaPods and iOS build tooling.
How to check:
ruby -v
Note: On macOS, system Ruby may be outdated. Use rbenv or rvm to manage Ruby versions.
Required: 1.16.2
Platform: macOS only - required for iOS development
Location: apps/mobile/ios/Podfile.lock (last line)
How to check configuration:
tail -1 apps/mobile/ios/Podfile.lock
How to install:
gem install cocoapods -v 1.16.2
Required: 1.24.0
Why: Required for compiling gopenpgp cryptographic library on iOS.
Location: apps/mobile/ios/Podfile:33
How to check configuration:
grep "go_version = " apps/mobile/ios/Podfile
Required: 26.2
Platform: macOS only - required for iOS development
Why: Required for building iOS app with latest SDK features and deployment target.
How to check:
xcodebuild -version
Note: Xcode version determines available iOS SDKs and simulator versions.
Required: Ladybug (2024.2.1) or later
Why: compileSdk 36 requires Android Studio with SDK 36 support.
How to check: Android Studio > About Android Studio
Required components:
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')"
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)"
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