خانه اندروید

بیش از 800 ساعت آموزش فارسی

بیش از 30 هزار دانشجو

آموزش هایی کاملا اختصاصی

مطالب پیشنهادی حتما مشاهده کنید :

خطا برنامه نویسی اندروید Error Android studio

خطا برنامه نویسی اندروید Error Android studio

Error-Android- Studio-Handle

Error Android Studio Handle

سلام و احترام خدمت تک تک کاربران گرامی سایت خانه اندروید امروز در خدمت شما هستیم با رفع خطاهایی که در طول برنامه نویسی باهاشون مواجع می شوید و مجبور هستین جستجو کنید. در این بخش قصد داریم تا با خطاهایی رایج که در طول برنامه نویسی به وجود میاد رو با هم برطرف کنیم.

این پست به درخواست دوستان تهیه شده و تا خطایی که به وجود میاد رو بتوانند برطرف کنند.دقت کنید برخی از خطاها دقیق و تست شده هستن وبرخی موارد ممکن هست جوابگو نباشن.

نکته : چنانچه خطای مورد نظر شما در این پخش وجود نداشت در بخش دیدگاه مطرح کنید.

نکته دوم : تمامی خطا ها نیازمند vpn هستن چرا که ما توسط شرکت گوگل تحریم هستیم و باید ip شما غیر از ایران باشد.

خطا ها و راحل :

====================================================

 ارور در Retrofit و Rxjava که روی اندروید ورژن 4.2 تا 4.4 اتفاق میافته رو حل کنیم.ممکنه زبان برنامه نویسی کاتلین یا جاوا باشه

How to fix Expected Android API level 21+ but was 19 in Android

حل کافی به بخش Gradle در بخش سطح دوم کتابخانه زیر را اضافه کنید.

====================================================

Invoke-customs are only supported starting with Android O (–min-api 26)
Stack trace:

حل کردن خطا :

کافی در بخش Gradle کلیک و بخش Android سورس کد زیر رو اضافه کنید به بخش defaultConfig

====================================================

خطا

دریافت نکردن اطلاعات از سمت سرور در اندروید ورژن 8 به بعد که لازم هست کارهایی رو انجام بدین تا این مشکل برطرف شود.

توضیح : در اندروید ۹ به بعد گوگل امنیت سیستم عامل رو بالا برد و حتی برخی از سایت ها رو مجبور کرد تا از پروتکل https  برای امنیت هرچه بهتر استفاده کنندو به همین خاطر ممکن هست api دریافتی از سمت سرور به درستی دیتا رو پاسخ بده اما گوشی شما توانایی دریافت رو نداشته باشه که لازم هست سورس کد زیر رو اضافه کنید.به بخش android manifest.xml

فیلم آموزشی

بخش Application

====================================================

خطا

java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)’ on a null object reference

حل و توضیح:
ممکن هست Cast نکردن یک ویجیت باعث این موضوع شده باشه مثلا در ارور بالا خطا فوق به دلیل Cast نکردن دکمه اتفاق افتاده لازم هست Button یا Textview رو FindByid استفاده کنید و Cast کنید.

نکته در روش Databinding دیگه نیازی به Cast کردن نیست برای منظور لازم هست دوره معماری mvvm رو مشاهده کنید.

دوره معماری mvvm زبان جاوا

====================================================

خطا در بخش Xml

Namespace ‘wheel’ is not bound

روش حل خطا دربخش  xml

کافی هست alt رو نگه داشته و enter رو فشار بدین تا خطا رو به صورت اتومات برطرف کند یا اینکه لازم هست NameSpace مورد نظر اضافه کنید به روت اصلی layout مورد نظر

====================================================

خطا xml

android.view.InflateException: Binary XML file line #41: Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference

روش حل :

دقت کنید در این روش خطا اندروید استودیو به صورت مستقیم اشاره می کند که در لاین چندم این خطا اتفاق افتاده و باید به بخش xml یا لایوت مورد نظر تشریف ببرین و بررسی کنید که چه کدی نوشتین که باعث این خطا شده در این خطا اشاره کرده لاین 41

نکته : ممکن هست شما Scrollview گذاشته باشین که لازم هست یک فرزند یا لایوت هم اضافه کنید.

نکته دوم : ممکن هست شما View که با حروف بزرگ V نوشته میشه رو به اشتباه با حرف کوچک view نوشته باشین.

و….

====================================================

خطا

Could not find fragment-1.2.0.aar (androidx.fragment:fragment:1.2.0).

حل خطا و توضیح :

در اندروید استودیو ورژن 3.6 به بعد Navigation component اضافه شد و از اونجایی این بخش نیازمند اضافه کردن کتابخانه هاست لازم هست کارهایی رو دربخش Build gradle انجام بدین.

اضافه کردن به بخش build gradle

و دربخش سطح اول لازم هست کد زیر رو اضافه کنید.

اگر قصد دارین بیشتر این قسمت رو یاد بگیرن و درک کنید لازم هست دوره های زیر رو تهیه کنید.

زبان جاوا = دوره پیشرفته آموزش Rxjava همراه با Navigation component

زبان کاتلین=دوره آموزش MVVM Coroutines Kotlin

====================================================

 خطا خواندن اطلاعات حافظه در ورژن اندروید 10

حل خطا:

همان طور که قبلا توضیح داده شد گوگل برای امنیت بیشتر برخی از دسترسی رو برداشته و لازم هست کد زیر رو به AndroidManidest.xml اضافه کنید.

====================================================

خطا

java.lang.SecurityException: Permission denied (missing INTERNET permission?)

روش حل  و توضیحات بیشتر راجب خطا :

معمولا این طور خطا به دلیل set نکردن پرمیشن در بخش androidmanifest.xml به وجود میاد مثلا در خطای بالا دسترسی به اینترنت باعث خطا شده و هم چنین خود اندروید استودیو اشاره می کنه کدوم پرمیشن رو اپلیکیشن درخواست داده و شما اون درخواست رو set نکردین.

نکته : برخی از پرمیشن ها run time هستن و نیازمند نوشتن سورس کد هستن تا موقع اجرا از کاربر درخواست و کاربر روی Alow کلیک کند.

حل خطای ارور دسترسی به اینترنت و حافظه

حل خطای ارور دسترسی به اینترنت و حافظه

====================================================

خطا

Could not identify launch activity: Default Activity not found
Error while Launching activity

حل خطا و توضیح :

اندروید استودیو برای اجرا کردن اپلیکیشن یا بهتره بگیم سیستم عامل اندروید نیازمند دستور اجرا کردن اولین اکتیویتی هست و این خطا به معنی تعریف نکردن یا ست نکردن یا فیلتر نکردن اولین اکتیویتی هست که لازم هست در بخش Androidmanifest.xml تعریف بشه

Could not identify launch activity

====================================================

خطا دسترسی به هاست یا ادرس مورد نظر که وارد کردین.

onFailure: Unable to resolve host “url”: No address associated with hostname

روش حل و توضیحات بیشتر :

در برخی از موارد خطای فوق به دلیل دسترسی نداشتن به اینترنت هست که در کتابخانه Retrofit2 یا volley در بخش Error به وجود میاد یا نکته زیر برای حل :

نکته : دسترسی به اینترنت رو بررسی کنید.

نکته دوم : ممکنه هست ادرس مورد نظر رو اشتباه تایپ کرده باشین.

نکته سوم :ممکن هست ip تغییر کرده باشد.

نکته چهارم : شبیه ساز یا گوشی شما کلمه localhost رو تشخیص نمی دهدو لازم هست ادرس سایت یا ip را وارد کنید.

====================================================

خطا

Could not find com.android.tools.build:gradle:3.1.2.

روش حل :

قبلا توضیح داده شده به دلیل تحریم باید ip شما به غیر از ایران باشه تا توانایی دانلود توسط اندروید استودیو میسر باشه.

====================================================

خطا :

Unable to start activity ComponentInfo{packagename/Activity.App_1.Acitivty.MainActivity}: kotlin.KotlinNullPointerException

حل خطا و تضیح :

دقت کنید خطای فوق در برخی از موارد به دلیل غیر فعال کردن اکشن بار در کاتلین به وجود میاد که در بخش شما Light.NoActionBar رو انتخاب کردین که لازم هست برای غیر فعال کردن این امر در بخش اکتیویتی سورس کد زیر رو برای غیر فعال کردن اکشن بار وارد کنید.

نکته دوم : دلیل خطا ممکنه به خاطر null متغییر یا ویجیت باشه که باید بررسی دقیق تری انجام بدین.

====================================================

خطا

Error:Cannot fit requested classes in a single dex file.Try supplying a main-dex list. # methods: 72477 > 65536

راه حل و توضیح :

از اونجایی که ممکنه شما از سرویس های گوگل یا firebase استفاده کرده باشین به همین خاطر این خطا اتفاق افتاده چرا که این سرویس ها نیازمند multiDex هستن و برای این موضوع لازم هست که کتابخانه مورد نظر رو برای ساپورت از انواع api دیوایس اضافه کنید.

در بخش Build gradle و بخش defaultConfig لطفا multiDexEnabled رو فعال کنید.

لطفا کتابخانه رو اضافه کنید.

در نهایت کلاس با اسم app ایجاد کنید و سپس ارث بری کنید از کلاس multidex و در نهایت به androidmanifest.xml اضافه کنید.

و حالا در بخش androidmanifest.xml در بخش application کلاس app معرفی کنید.

====================================================

خطا
Android XML: “conflicts with another tag that has the same ID”

توضیح و راه حل:

ممکن هست پس از اجرا گرفتن خطای بالا برای شما نمایش داده شود این خطا به معنی تکراری بودن id یک ویجت هست مثل Textview و … که لازم هست یکبار cache رو پاک کنید برای این منظور در اندروید استودیو بخشی به اسم پاک کردن کش وجود دارد.

ادرس زیر :

File > Invalidate Caches / Restart > Invalidate and Restart

سپس پس از ریستارت و مجددن index شدن پروژه خودتون رو اجرا بگیرن.

====================================================

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

جواد محمدی
جواد محمدی هستم کارشناس و مهندس ارشد نرم افزار و مدیر و بنیان گذار سایت خانه اندروید نویسنده و برنامه نویس ارشد اندروید ۴ سال در زمینه اندروید به صورت تخصصی مدرس هستم و مدرس دوره دیجی کالا و متخصص گوگل مپ و ... هستم.

قبل از ارسال دیدگاه

  • قبل از ارسال دیدگاه: لطفا دیدگاه خودتون رو فقط در مورد این مطلب بنویسید.سپاسگزارم.

    دیدگاه های طولانی نادیده گرفته می شوند لذا دیدگاه خودتان را در دو خط خلاصه کنید.

    دیدگاه های که شامل توهین یا متن توهین آمیز اصلا تایید نمی شود.

    به دیدگاه های بی نام و نشان که ایمیل فیک و نام فیک وارد می کنند پاسخ داده نمی شود

2 دیدگاه

  1. Avatar aliverdilo گفت:

    سلام و عرض خسته نباشید.
    استاد لطفا نحوه ی رفع خطای زیر رو هم قرار بدین ممنون.
    com.android.volley.ParseError: org.json.JSONException: Value ?> of type java.lang.String cannot be converted to JSONObject

    • سلام و احترام
      خطای مورد نظر شما واضح هست گفته نمی تونه parse کنه جیسون که داره برمی گرده به jsonobject ممکنه دیتایی که برمی گرده یک ارایه باشه بررسی کنید و اگر ارایه بود Jsonarray دریافت کنید.
      با احترام.

ارسال دیدگاه شما





*

code