1k-platform-requirements

安装量: 49
排名: #15137

安装

npx skills add https://github.com/onekeyhq/app-monorepo --skill 1k-platform-requirements
OneKey Platform Requirements
Device Compatibility Check
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.
Auto-detect and Check Environment
First, detect the operating system:
uname
-s
If output is
Darwin
→ macOS, check ALL tools including Xcode/CocoaPods
If output is
Linux
or other → Skip Xcode/CocoaPods/Ruby checks
Development Environment Requirements
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
Minimum Platform Version Summary
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
How to Verify/Update Versions
Android minSdkVersion
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.minSdkVersion
Value set by
expo-modules-autolinking
in
ExpoRootProjectPlugin.kt
Default is 24 unless overridden in expo version catalog
iOS Deployment Target
Location
:
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
Chrome Extension Minimum Version
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).
Firefox Extension
Location
:
apps/ext/src/manifest/firefox.js
Firefox manifest extends Chrome manifest but may have different requirements. Currently follows Chrome manifest v2 patterns.
Desktop (Electron) Version
Location
:
apps/desktop/package.json
How to check
:
grep
'"electron":'
apps/desktop/package.json
Current version
Electron 39.5.1
Electron 39 OS Requirements
:
macOS: 10.15+ (Catalina)
Windows: Windows 10+
Linux: Ubuntu 20.04+, Fedora 32+, Debian 10+
Reference
Check Electron releases for OS compatibility at
https://releases.electronjs.org/
Full SDK Version Check Command
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
Version Update Considerations
When updating minimum versions:
Android
Expo SDK updates may change minSdkVersion. Check Expo release notes.
iOS
Update both Podfile and Xcode project settings.
Extension
manifest changes affect all Chromium browsers (Chrome, Edge, Brave, Opera).
Electron
Major version bumps may drop OS support. Check Electron release notes.
Development Environment Details
Node.js
Required
>=22
Location
:
package.json:10-12
How to check configuration
:
grep
-A2
'"engines"'
package.json
Configuration
:
"engines"
:
{
"node"
:
">=22"
}
Yarn
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"
Java/JDK
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
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
Ruby (macOS only)
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.
CocoaPods (macOS only)
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
Go
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
Xcode (macOS only)
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.
Android Studio
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 : Android SDK Platform 36 Android SDK Build-Tools 36.0.0 NDK 27.1.12297006 CMake (for native modules) Quick Environment Check Script For macOS (Full check including iOS tools) 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' ) " For Linux/Windows (Skip iOS-only tools) 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)" Smart Check (Auto-detect 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 Related Files Node/Yarn: package.json Android: apps/mobile/android/app/build.gradle Android: apps/mobile/android/gradle.properties Gradle: apps/mobile/android/gradle/wrapper/gradle-wrapper.properties iOS: apps/mobile/ios/Podfile iOS: apps/mobile/ios/Podfile.lock Extension: apps/ext/src/manifest/chrome_v3.js Desktop: apps/desktop/package.json Desktop: apps/desktop/electron-builder.config.js

返回排行榜