بیسیک4اندروید: راهحل استفاده از کتابخانه پوشه ۱.۴.۰ در b4a
سلام!
بعد از انتشار نسخهی ۱.۴.۰ پوشه، تعدادی از توسعه دهندگان بیسیک۴اندروید به ما اطلاع دادند که در استفاده از کتابخانه پوشه در کنار کتابخانههای دیگر بیسیک۴اندروید به مشکل بر میخورند.
در این پست بلاگ سعی میکنیم توضیح دهیم که علت این مشکل چیست و راه حلی برای آن ارائه میدهیم.
توضیح مشکل
در نسخه ی 1.4.0 پوشه برای پشتیبانی از ویژگی های ارائه شده در نسخه ی 8 اندروید نیاز به استفاده از کتابخانه ساپورت نسخه 26.0.1 به بالا هست و با ورژن های پایین تر قابل استفاده نیست. از طرفی کتابخانه های ساپورت از این نسخه، و کتابخانه های gcm از نسخه ی 11.0.4 به بعد، دیگر توسط sdk manager قابل دانلود نیستند، بلکه در اندروید استودیو و در زمان کامپایل توسط gradle (که دیپندنسی منیجر اصلی ای هست که گوگل پشتیبانی می کند) از ریپازیتوری گوگل دانلود می شود.
به همین دلیل در ارائه نسخه ی 1.4.0 پوشه برای b4a ، کتابخانه های gcm و ساپورت مورد نیاز برای درست عمل کردن آن هم ضمیمه شده اند (در واقع در کنار کتابخانهی پوشه، کتابخانههای support و gcm هم bunlde شده اند) تا استفاده از آن برای کاربران مثل همیشه ساده و بدون مشکل باشد.
حال مشکلی که ایجاد میشود، زمانی است که شما از کتابخانه(ها)ی دیگری هم در b4a استفاده می کنید (مثل متریال دیزاین یا appCompat) که به همین هدف (سادگی استفاده و عدم ایجاد مشکل dependency) کتابخانه های ساپورت مورد نیازشان را ضمیمه (bundle) کرده اند. این مسئله باعث می شود که حداقل یکی از کتابخانه های ساپورت دوباره به برنامه شما اضافه شود و تداخل رخ دهد.
برای حل این مشکل چند روش وجود دارد.
۱. رفع تداخل به صورت دستی! که این مورد برای توسعهدهندگانی هست که حرفهای هستند (و ماهم از این دوستانمون درس میگیریم! :) ) و نیازی به توضیح و راهنمایی برای رفع تداخل در برنامهی خودشون ندارن. البته ما این راه حل رو پیشنهاد نمیکنیم.
۲. استفاده از نسخهی ۸ محیط b4a و دانلود کتابخانه های gcm و ساپورت توسط sdk manager ای که در آن اضافه شده است. توسعه دهندگان محیط b4a خودشون برای رفع این دست از مشکلها، sdk manager ای را در نسخهی ۸ قرار داده اند که تجربهای مانند تجربهی قبلی را برای توسعه دهندگان فراهم میکند.
نحوهی استفاده از این مورد رو ما در ادامه توضیح میدهیم.
استفاده از نسخهی ۸ محیط b4a و sdk manager
برای استفاده از قابلیت بروزرسانی کتابخانه های gcm و ساپورت در بیسیک4اندروید و امکان استفاده از آخرین آپدیت ها بصورت آفلاین مراحل زیر را انجام دهید.
- نسخه ۸ از محیط بیسیک4اندروید را نصب کنید.
- ابزارهای خط فرمان اندروید را از اینجا دانلود کنید و unzip شده آن را در مسیری مثلا D:\Android\ کپی کنید (داخل فولدرهای سیستمی مثل programFiles آن را قرار ندهید). اسم این مسیر را android-sdk-path در نظر می گیریم تا در توضیحات بعدی با این اسم به آن اشاره کنیم.
- کتابخانه ی جاوای شما (jdk) باید یکی از ریلیزهای ۱۰۲ یا بالاتر ورژن ۱.۸ باشد. اگر نسخه ی قدیمی تری دارید این نسخه از jdk را دانلود و نصب کنید.
- بعد به قسمت Tools-> Configure Path بروید (تصویر ۱)
o در پنجره ای که نشان داده می شود مسیرjavac.exe را بر روی نسخه ای از jdk که توضیح داده شد تنظیم کنید.
گام آخر
بعد از این مراحل بیسیک4اندروید شما آماده است و میتوانید بدون مشکل تداخل از ورژن دیگری از کتابخانهی ۱.۴.۰ پوشه که برای این محیط از بیسیک4اندروید ارائه شده است استفاده کنید. تفاوت این کتابخانه با کتابخانهای که از پنل قابل بارگیری است، در این است که کتابخانههای مورد نیاز (Gcm و ساپورت) در این نسخه bundle نشدهاند و تنها به صورت dependency در فایل xml قرار داده شدهاند (یعنی این نسخه فایلهای jar موجود در نسخهی اصلی را ندارد).
در واقع این کتابخانه به نحوی ایجاد شده است که در محیط نسخهی ۸ b4a و با استفاده از sdk manager قابل استفاده باشید.
ببرای دانلود نسخهی ۱.۴.۰ کتابخانه پوشه که بعد از انجام مراحل بالا در بیسیک۴اندروید ۸ قابل استفاده است، از این لینک استفاده کنید.
امیدواریم که این پست کمکی در جهت رفع مشکل توسعه دهندگان عزیز b4a کرده باشد.
--------------
* موردی هم در نسخهی اولیهی کتابخانهی ۱.۴.۰ پوشه وجود داشت که منجر میشد اعلانهای json در برنامهی شما خالی دریافت شوند که این مشکل نیز بعد از گزارشهای اولیه اصلاح شد و کتابخانه موجود در پنل به روز رسانی شد تا دیگر این مشکل وجود نداشته باشد.
--------------
مثل همیشه، موفق باشید 💐
نظرات (۷)