حل مشکلات سازگاری جاوا و Gradle در پروژه های Flutter

Summarize this content to 400 words in Persian Lang
هنگام ایجاد یک برنامه Flutter جدید، ممکن است با مشکلات سازگاری بین نسخه Java Development Kit (JDK) و نسخه Gradle مورد استفاده در پروژه خود مواجه شوید. در اینجا نحوه رسیدگی به این موضوع و اطمینان از راهاندازی روان است.
بررسی اجمالی موضوع
ممکن است با پیام زیر مواجه شوید:
نسخه پیکربندی شده جاوا شناسایی شده ممکن است با نسخه Gradle در برنامه Flutter جدید شما مغایرت داشته باشد.
این به این دلیل اتفاق میافتد که نسخه پیشفرض Android Gradle Plugin (AGP) برای درست کار کردن به یک نسخه جاوا خاص نیاز دارد. به عنوان مثال، Gradle نسخه 8.3 به نسخه های جاوا در محدوده نیاز دارد:
Java 17 <= compatible Java version < Java 21
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اگر سیستم شما از یک نسخه جاوا ناسازگار استفاده می کند، باید یکی از موارد زیر را انجام دهید:
Flutter را برای استفاده از نسخه جاوا سازگار پیکربندی کنید، یا
نسخه Gradle را در پروژه خود به روز کنید تا با نسخه جاوا فعلی شما مطابقت داشته باشد.
راه حل 1: Flutter را برای استفاده از یک نسخه جاوا سازگار پیکربندی کنید
برای حل این مشکل، می توانید یک نسخه JDK سازگار برای Flutter تعیین کنید. این مراحل را دنبال کنید:
مرحله 1: نسخه های جاوا نصب شده را بررسی کنید
دستور زیر را اجرا کنید تا تمام نسخه های جاوای نصب شده روی سیستم خود را لیست کنید:
/usr/libexec/java_home -V
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
خروجی نمونه:
Matching Java Virtual Machines (3):
17.0.8 (arm64) “Oracle Corporation” – “/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home”
20.0.2 (arm64) “Oracle Corporation” – “/Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home”
11.0.19 (arm64) “Oracle Corporation” – “/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home”
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 2: یک نسخه جاوا سازگار را انتخاب کنید
یک نسخه جاوا سازگار با Gradle 8.3 را انتخاب کنید. به عنوان مثال، جاوا 17 انتخاب خوبی است. به مسیر آن توجه کنید، به عنوان مثال:
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 3: Flutter را برای استفاده از نسخه انتخابی جاوا پیکربندی کنید
این دستور را برای پیکربندی Flutter اجرا کنید:
flutter config –jdk-dir=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 4: تأیید تنظیمات
برای اطمینان از اینکه Flutter از JDK مشخص شده استفاده می کند، اجرا کنید:
flutter doctor
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
به دنبال خط زیر در خروجی باشید:
[!] Android toolchain – develop for Android devices (Android SDK version X.X.X)JDK location: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اگر با مسیری که تعیین کرده اید مطابقت داشته باشد، پیکربندی موفقیت آمیز است.
راه حل 2: نسخه Gradle را به روز کنید
اگر ترجیح می دهید از نسخه جاوا پیکربندی فعلی خود استفاده کنید، باید نسخه Gradle را در پروژه Flutter خود به روز کنید.
مرحله 1: اصلاح کنید gradle-wrapper.properties
حرکت به gradle-wrapper.properties فایل در فهرست پروژه شما:
/Users/javeedishaq/devwork/demoapp327/android/gradle/wrapper/gradle-wrapper.properties
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
نسخه Gradle را به نسخه ای که با نسخه جاوا شما سازگار است (به عنوان مثال Gradle 8.4 تا 8.7) به روز کنید.
مثال:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله ۲: Gradle Wrapper را بهروزرسانی کنید
همچنین، میتوانید از دستور Gradle Wrapper برای بهروزرسانی نسخه استفاده کنید:
./gradlew wrapper –gradle-version=8.7
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 3: به روز رسانی را تأیید کنید
پروژه را دوباره اجرا کنید تا تأیید کنید که نسخه Gradle و Java سازگار هستند:
flutter run
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
منابع اضافی
با دنبال کردن این مراحل، می توانید مشکلات سازگاری جاوا و Gradle را به طور موثر حل کنید و بدون وقفه به توسعه برنامه Flutter خود ادامه دهید.
هنگام ایجاد یک برنامه Flutter جدید، ممکن است با مشکلات سازگاری بین نسخه Java Development Kit (JDK) و نسخه Gradle مورد استفاده در پروژه خود مواجه شوید. در اینجا نحوه رسیدگی به این موضوع و اطمینان از راهاندازی روان است.
بررسی اجمالی موضوع
ممکن است با پیام زیر مواجه شوید:
نسخه پیکربندی شده جاوا شناسایی شده ممکن است با نسخه Gradle در برنامه Flutter جدید شما مغایرت داشته باشد.
این به این دلیل اتفاق میافتد که نسخه پیشفرض Android Gradle Plugin (AGP) برای درست کار کردن به یک نسخه جاوا خاص نیاز دارد. به عنوان مثال، Gradle نسخه 8.3 به نسخه های جاوا در محدوده نیاز دارد:
Java 17 <= compatible Java version < Java 21
اگر سیستم شما از یک نسخه جاوا ناسازگار استفاده می کند، باید یکی از موارد زیر را انجام دهید:
- Flutter را برای استفاده از نسخه جاوا سازگار پیکربندی کنید، یا
- نسخه Gradle را در پروژه خود به روز کنید تا با نسخه جاوا فعلی شما مطابقت داشته باشد.
راه حل 1: Flutter را برای استفاده از یک نسخه جاوا سازگار پیکربندی کنید
برای حل این مشکل، می توانید یک نسخه JDK سازگار برای Flutter تعیین کنید. این مراحل را دنبال کنید:
مرحله 1: نسخه های جاوا نصب شده را بررسی کنید
دستور زیر را اجرا کنید تا تمام نسخه های جاوای نصب شده روی سیستم خود را لیست کنید:
/usr/libexec/java_home -V
خروجی نمونه:
Matching Java Virtual Machines (3):
17.0.8 (arm64) “Oracle Corporation” - “/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home”
20.0.2 (arm64) “Oracle Corporation” - “/Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home”
11.0.19 (arm64) “Oracle Corporation” - “/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home”
مرحله 2: یک نسخه جاوا سازگار را انتخاب کنید
یک نسخه جاوا سازگار با Gradle 8.3 را انتخاب کنید. به عنوان مثال، جاوا 17 انتخاب خوبی است. به مسیر آن توجه کنید، به عنوان مثال:
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
مرحله 3: Flutter را برای استفاده از نسخه انتخابی جاوا پیکربندی کنید
این دستور را برای پیکربندی Flutter اجرا کنید:
flutter config --jdk-dir=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
مرحله 4: تأیید تنظیمات
برای اطمینان از اینکه Flutter از JDK مشخص شده استفاده می کند، اجرا کنید:
flutter doctor
به دنبال خط زیر در خروجی باشید:
[!] Android toolchain - develop for Android devices (Android SDK version X.X.X)
JDK location: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
اگر با مسیری که تعیین کرده اید مطابقت داشته باشد، پیکربندی موفقیت آمیز است.
راه حل 2: نسخه Gradle را به روز کنید
اگر ترجیح می دهید از نسخه جاوا پیکربندی فعلی خود استفاده کنید، باید نسخه Gradle را در پروژه Flutter خود به روز کنید.
مرحله 1: اصلاح کنید gradle-wrapper.properties
حرکت به gradle-wrapper.properties
فایل در فهرست پروژه شما:
/Users/javeedishaq/devwork/demoapp327/android/gradle/wrapper/gradle-wrapper.properties
نسخه Gradle را به نسخه ای که با نسخه جاوا شما سازگار است (به عنوان مثال Gradle 8.4 تا 8.7) به روز کنید.
مثال:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
مرحله ۲: Gradle Wrapper را بهروزرسانی کنید
همچنین، میتوانید از دستور Gradle Wrapper برای بهروزرسانی نسخه استفاده کنید:
./gradlew wrapper --gradle-version=8.7
مرحله 3: به روز رسانی را تأیید کنید
پروژه را دوباره اجرا کنید تا تأیید کنید که نسخه Gradle و Java سازگار هستند:
flutter run
منابع اضافی
با دنبال کردن این مراحل، می توانید مشکلات سازگاری جاوا و Gradle را به طور موثر حل کنید و بدون وقفه به توسعه برنامه Flutter خود ادامه دهید.