بیسیک۴اندروید: استفاده از پوشه با سایر کتابخانه های گوگل (مپ، ویژن، آنالیتیکس و ....)
یکی از مشکلاتی که برخی از کاربران پوشه در محیط بیسیک۴اندروید زیاد با آن مواجه می شوند، مشکل تداخل کتابخانه های پوشه با کتابخانه های مورد نیاز سایر سرویس های گوگل است. مثلا وقتی از گوگل مپ یا گوگل آنالیتیکس همراه با پوشه استفاده می کنند با خطای
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/gcm/....
مواجه می شوند.
خوشبختانه به علت اینکه امکان اضافه کردن کتابخانه های مورد نیاز به پروژه از طریق maven repository در بیسیک۴اندروید نسخه ی ۶ به بالا فراهم شده است، این مشکل در حال حاضر به راحتی برطرف می شود.
برای رفع این مشکل وابستگی های کتابخانه ی پوشه اصلاح شده تا این کار امکان پذیر باشد. لطفا کتابخانه ی پوشه و کتابخانه ی گوگل مپ که وابستگی هایشان اصلاح شده است را دانلود کنید و در پروژه تان استفاده کنید.
اگر کتابخانه دیگری از گوگل را استفاده می کنید در فایل wrapper آن یعنی در فایل .xml مربوط به آن قسمت وابستگی ها را باید تغییر دهید و وابستگی های مربوط به گوگل پلی سرویس را اصلاح کنید. برای مثال، روش اصلاح فایل GoogleMaps.xml در تصاویر زیر نشان داده شده است:
قبل از اصلاح وابستگی به گوگل پلی:
بعد از اصلاح وابستگی به گوگل پلی:
اگر کتابخانه دیگری از گوگل پلی را استفاده می کنید، با تغییری مشابه در فایل .xml آن کتابخانه می توانید وابستگی به سرویس های گوگل را مدیریت کنید تا تداخلی رخ ندهد. مثلا اگر از کتابخانه ی Ocr گوگل استفاده می کنید که وابستگی به play-services-vision دارد، تگ dependsOn را در فایل xml آن باید به صورت زیر تغییر دهید:
<dependsOn>com.google.android.gms:play-services-vision</dependsOn>
به این ترتیب در استفاده از کتابخانه های گوگل پلی به همراه پوشه دیگری با مشکلی مواجه نخواهید شد. اگر مشکل یا ابهامی داشتید با ما تماس بگیرید.
نظرات (۴)