برنامه نویسی

حل مشکلات سازگاری جاوا و 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
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر سیستم شما از یک نسخه جاوا ناسازگار استفاده می کند، باید یکی از موارد زیر را انجام دهید:

  1. Flutter را برای استفاده از نسخه جاوا سازگار پیکربندی کنید، یا
  2. نسخه 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 خود ادامه دهید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا