اجرای پروژه با Appsan CLI

این صفحه اجرای پروژهٔ ساخته‌شده را در حالت Preview با استفاده از دستور run توضیح می‌دهد.

پیش‌نیازها

  • پروژه طبق صفحهٔ «ایجاد پروژه جدید از ترمینال» ساخته شده و فایل‌های appsan.json و layout/main.xml آماده‌اند.

  • Java (JDK 11+) در PATH در دسترس است.

الگوی اجرا

java -jar /path/to/appsan-sdk/appsan-cli.jar run [options]

اجرای سریع (وب، پیش‌فرض)

java -jar /path/to/appsan-sdk/appsan-cli.jar run -pl web -f ./layout/main.xml
  • اگر پلتفرم مشخص نشود، پیش‌فرض web است.

  • سرور HTTP روی پورت 4300 و WebSocket روی پورت 3000 اجرا می‌شود.

  • با هر تغییر در فایل‌ها، پروژه دوباره build شده و پیش‌نمایش به‌روز می‌شود.

گزینه‌های مهم

  • -pl, --platform <online|usb|web> تعیین پلتفرم اجرا (پیش‌فرض: web)

  • -f, --file <path> مسیر فایل Layout (الزامی)

  • -r, --root <path> ریشهٔ منابع (پیش‌فرض: <projectPath>/layout)

  • -k, --keyVal <k:v> مقداردهی Mustache (قابل تکرار)

  • -v, --variable <id:val> افزودن <var id="id" value="val"/> (قابل تکرار)

  • -q, --qualifier <k:v> تعیین Qualifierها مانند size, density, night_mode, android_version, appsan_version (قابل تکرار)

  • --keep-comments <bool> حفظ کامنت‌ها (به‌صورت true/false)

  • --port <int> پورت HTTP برای پیش‌نمایش وب (پیش‌فرض: 4300)

  • --socket-port <int> پورت WebSocket (پیش‌فرض: 3000)

  • --no-file-server غیرفعال‌کردن سروینگ فایل‌های استاتیک (web/usb)

نمونهٔ پیشرفته:

java -jar /path/to/appsan-sdk/appsan-cli.jar run -pl web -f ./layout/main.xml \
--port 4400 --socket-port 3100 --no-file-server \
-k TITLE:"Hello Appsan" \
-v build:debug \
-q size:small -q density:mdpi -q night_mode:notnight \
--keep-comments true

سایر پلتفرم‌ها (اختیاری)

  • USB (Android):

    java -jar /path/to/appsan-sdk/appsan-cli.jar run -pl usb -f ./layout/main.xml -adb "C:\Android\platform-tools\adb.exe" -r ./layout
  • Online (نیازمند احراز هویت):

    java -jar /path/to/appsan-sdk/appsan-cli.jar run -pl online -f ./layout/main.xml -t YOUR_TOKEN

خطاهای متداول و رفع آن‌ها

  • No Appsan.json file found.
    فایل appsan.json در ریشهٔ پروژه نیست یا مسیر -f خارج از پروژه است.

  • Failed to bind to port
    پورت‌ها اشغال‌اند؛ از --port و --socket-port استفاده کنید.

  • Unable to access jarfile
    مسیر appsan-cli.jar را صحیح وارد کنید.

  • java not found / UnsupportedClassVersionError
    Java نصب نیست یا نسخه قدیمی است؛ JDK 11+ نصب/فعال و ترمینال را ری‌استارت کنید.

  • گزینهٔ --keep-comments
    حتماً مقدار بدهید: --keep-comments true.