حل مشکل AndroidX incompatibilities در پروژه فلاتر
زمانی که خواستم از اپی که با Flutter نوشتم build بگیرم با خطای :
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
See https://goo.gl/CP92wY for more information on the problem and how to fix it.
مواجه شد.
راه های زیادی رو برای رفعش انجام دادم و در نهایت به دو روش صحیح برای حل این مشکل رسیدم که در این پست قصد دارم برای شما نیز این آموزش ها رو بگم.
حل این مشکل دو روش دارد :
از دو روش بالا معمولا روش دوم بیشتر اتفاق می افتد دلیل آن هم این است که اقدام به اپدیت یا Upgrade نسخه Flutter خود کرده باشید.
پس من اول روش دوم رو که ساده هم هست آموزش میدم.
ابتدا توسط دستور Flutter version در پروژه خود نسخه های موجود فلاتر را ببینید
تا الان که من دارم این آموزش رو می نویسم نسخه 1.5.4 Flutter SDK منتشر شده که در حال حاضر نسخه stable آن 1.2.1 هست
پس من با دستور flutter version v1.2.1 اقدام downgrade اون میکنم.
حالا میتونید اقدام به گرفتن خروجی از اپ خودتون در فلاتر بکنید.
در صورتی که مشکل با روش بالا حل نشد، از روش اول استفاده می کنیم :
در این روش ابتدا فولدر Android ای که داخل پروژه فلاتر شما وجود دارد را با Android Studio اجرا کنید و منتظر بمانید تا gradle کار خود را تمام کند.
ابتدا مطمئن بشید که نسخه اندروید پروژه شما برای حالت compile بر روی 28 باشه. برای اینکار ابتدا به فایل build.gradle داخل فولدر App رفته و ان را چک کنید:
در این بخش من قصد دارم پشتیبانی از AndroidX را به پروژه خودم اضافه کنم.
برای اینکار از منو Refactor در اندروید استدیو منو Migrate to AndroidX را انتخاب کنید
با زدن این گزینه در پایین صفحه تبی بالا میاد و دو تا گزینه cancel و Do Migrate رو داره که شما باید Do Migrate رو بزنید.
سپس این دو خط کد را به داخل فایل gradle.properties داخل فولدر App اضافه کنید :
android.useAndroidX=true android.enableJetifier=true
حال Android Studio را بسته و پروژه Flutter را بسته و مجددا اجرا کنید و خروجی را بگیرید.