Build
Build thư viện native của plugin trên máy: Android bằng một file .bat trên Windows, iOS trên máy Mac. Không dùng CI.
Build trên máy
Ở thư mục gốc repo, chạy build_android.bat (double-click hoặc từ terminal):
build_android.bat :: build mọi plugin
build_android.bat nativeutils :: chỉ một plugin
Script tự làm các việc sau:
- Tìm JDK 17 hoặc 21: ưu tiên
JAVA_HOME, sau đó Temurin, Oracle, Microsoft, JBR của Android Studio. - Tìm Android SDK (
ANDROID_HOME,ANDROID_SDK_ROOThoặc%LOCALAPPDATA%\Android\Sdk) và ghi vàoandroid/local.propertiesnếu chưa có. - Build AAR →
plugins/<tên>/addon/leono_<tên>/bin/android/leono_<tên>.aar. - Copy mọi addon sang
demo/addons/để test.
Lần build đầu Gradle tải khoảng vài trăm MB (Gradle, thư viện Google) nên mất vài phút; các lần sau khoảng 15–30 giây.
macOS/Linux dùng thẳng Gradle: cd android && ./gradlew copyAar syncDemo.
Chỉ macOS. Cần Xcode và SCons.
brew install scons
scripts/build_ios.sh nativeutils
# → plugins/nativeutils/addon/leono_nativeutils/bin/ios/*.xcframework
Script tự tải godot-cpp 10.0.0-stable, build cho máy thật (arm64) và Simulator (arm64), gộp với godot-cpp thành một static library rồi đóng gói .xcframework cho cả bản debug và release.
Đưa tài liệu lên web
Trang tài liệu này nằm ở addons.leonogames.com (Cloudflare Pages, project leono-addons). Sửa file trong docs/ xong thì chạy:
deploy_docs.bat
Script làm 3 việc, mất khoảng 20 giây:
- Build lại mọi AAR (
build_android.bat). - Đóng gói mỗi plugin thành
downloads/leono_<tên>.zip(cấu trúcaddons/leono_<tên>/) và một góileono_plugins_all.zip. - Upload
docs/(trừspecs/) cùng các file zip bằngwrangler.
Cần Node.js, JDK 17/21 + Android SDK, và biến môi trường cấp user CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID. Thư viện iOS chỉ có trong zip nếu đã build trên Mac trước đó (bin/ios/).
Đưa vào game
Sau khi build, thư mục plugins/<tên>/addon/leono_<tên>/ đã có đủ bin/. Copy nguyên thư mục đó vào res://addons/ của game. Cần cả Android lẫn iOS thì build iOS trên Mac rồi gộp thư mục bin/ios/ vào cùng addon.
Kiểm tra
Project demo/ có sẵn nút cho mọi hàm của mọi plugin. Không cần thiết bị:
godot --headless --path demo --editor --quit # không có lỗi script
godot --headless --path demo -- --check # in "self-check OK"
Export demo ra máy thật để kiểm tra đầy đủ hành vi native.
Toolchain
| Công cụ | Phiên bản | Ghi chú |
|---|---|---|
| Godot | 4.7.2 | |
| Android Gradle Plugin | 8.6.1 | Khớp build template của Godot 4.7.2 |
| Gradle | 8.11.1 | |
| Kotlin | 2.1.21 | |
| compileSdk / minSdk | 36 / 24 | |
| godot-cpp | 10.0.0-stable | api_version=4.7 |
| iOS deployment target | 15.0 | Mặc định của Godot 4.7 |