اجرا و خطا یابی
اجرای مینی اپ روی وب
برای اجرای مینی اپ در قسمت run config در قسمت بالا سمت راست intelij گزینه یAdd configuration یا Edit configuration را بزنید. در پنجره باز شده روی + زده و Appsan را انتخاب نمایید.
سپس نام مورد نظر برای اجرا و فایل اجرا را انتخاب کنید. Run type را روی Web قرار دهید.
پس از اجرا، آدرس وب داخل console نمایش داده می شود.
Android دریافت کرده و با پوشه ی libs/bin/platform-tools جایگزین کنید.
نمای وب پیش نمایش مینی اپ شما را نمایش میدهد و ممکن است خروجی دریافتی با خروجی پس از باندل شدن متفاوت باشد. علاوه بر این امکانات سوپر اپ مانند اطلاعات کاربر یا توکن ورود در این روش در دسترس نیست و باید دستی در کد وارد شود.
خطا های اجرا
Project has no JDK configuration
در بخش Project در پنجره باز شده SDK را انتخاب کنید ورژن 11 یا بالاتر از JAVAرا انتخاب کرده یا در صورت عدم وجود ورژن Add را بزنید تا به صورت خودکار دانلود شود.
اجرای مینی اپ روی اندروید
برای اجرای مینی اپ خود از نصب بودن اپسان و فعال بودن usb debuging روی گوشی اندرویدی خود مطمئن شوید.
فعال سازی حالت توسعه اپسان
برای اجرای مینی اپ روی اندروید باید حالت توسعه روی اپ قرمز فعال شود. برای این کار وارد اپ قرمز قسمت پروفایل شوید و کلید بروز رسانی پروفایل (کلید گرد فلش دار در بالا سمت چپ) را نگه دارید تا پیام سرویس توسعه اجرا شد نمایش داده شود. برای غیر فعال سازی حالت توسعه بار دیگر این کلید را نگه دارید. زمانی که حالت توسعه روشن است یک ناتیفیکیشن در ناتیفیکیشن بار گوشی مبنی بر فعال بودن حالت توسعه نمایش داده می شود..
تنظیمات اجرا در IDE
برای اجرای مینی اپ در قسمت run config در قسمت بالا سمت راست intelij گزینه یAdd configuration یا Edit configuration را بزنید. در پنجره باز شده روی + زده و Appsan را انتخاب نمایید.
سپس نام مورد نظر برای اجرا و فایل اجرا را انتخاب کنید.
برای اجرای نرم افزار گوشی را به کامپیوتر وصل کرده و دگمه ی اجرای intelij در بالا سمت راست را انتخاب کنید.
خطا های اجرا
Project has no JDK configuration
در بخش Project در پنجره باز شده SDK را انتخاب کنید ورژن 11 یا بالاتر از JAVAرا انتخاب کرده یا در صورت عدم وجود ورژن Add را بزنید تا به صورت خودکار دانلود شود.
failed to create socket, is appsan bridge running?
این خطا به معنی اجرا نبودن bridge در اپسان است برای اجرای این برنامه دستور زیر را در terminal وارد کنید.
java -jar libs/appsan-tcp-bridge.jar
اجرا ی مینی اپ روی مک و لینوکس
لایبرری های همراه با پلاگین تنها platform-tools مربوط به ویندوز را همراه خود دارد برای استفاده از پلاگین در مک یا لینوکس platform-tools مربوط به سیستم عامل خود را از سایت Android دریافت کرده و با پوشه ی libs/bin/platform-tools جایگزین کنید.
اجرای پروژه با 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.
خطا یابی با استفاده از log
اپسان برخی از اتفاقات و خطا ها رابه صورت log نمایش می دهد.
یکی از این موارد ریکوست های وب است که متن ارسالی و جواب بازگشت داده شده آن داخل لاگ قابل مشاهده است.
دسترسی به لاگ ها
برای دسترسی به لاگ ها CLI را با دستور logs و نام دستگاه خود اجرا کنید
Java -jar libs/Appsan-CLI-1.0-SNAPSHOT.jar logs -d <device-id>
برای به دست آوردن id دستگاه اندرویدی خود میتوانید دستور زیر را اجرا کنید.
Java -jar libs/Appsan-CLI-1.0-SNAPSHOT.jar devices
پس از اجرای دستور logs می توانید لاگ ها را روی آدرس http://localhost:12982/logs/ داخل browser دلخواه خود ببینید.
دسترسی به لاگ ها در intelij
از قسمت اجرا بخش edit configuration را باز کنید
در پنجره باز شده روی + کلیک کرده . گزینه JAR Application را انتخاب کنید
سپس نام مورد نظر را در بخش Name و آدرس Appsan-CLI را در بخش Path to JAR وارد کنید. در قسمت Program arguments مقدار زیر را وارد کنید.
logs -d <device-serial>
که <device-serial> همان سریال دستگاه که در بالا از ترمینال دریافت شد میباشد.
حالا با اجرای logs در اینتلیجی لاگ ها روی browser قابل رویت خواهد بود.