অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইনের সাথে পরিচিত সমস্যা

এই পৃষ্ঠাটি Android Studio Ladybug এবং Android Gradle প্লাগইন 8.7.0 এর সাথে পরিচিত সমস্যাগুলি ট্র্যাক করে৷ আপনি যদি এমন একটি সমস্যা অনুভব করেন যা ইতিমধ্যেই এখানে অন্তর্ভুক্ত করা হয়নি, দয়া করে একটি বাগ রিপোর্ট করুন

প্রিভিউতে আপগ্রেড করুন: অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন-এর প্রতিটি রিলিজের লক্ষ্য স্থায়িত্ব এবং কর্মক্ষমতা উন্নত করা এবং নতুন বৈশিষ্ট্য যোগ করা। এখনই আসন্ন রিলিজের সুবিধাগুলি উপভোগ করতে, অ্যান্ড্রয়েড স্টুডিও প্রিভিউ ডাউনলোড এবং ইনস্টল করুন।

অ্যান্ড্রয়েড স্টুডিওর সাথে পরিচিত সমস্যা

এই বিভাগে Android স্টুডিওর সর্বশেষ স্থিতিশীল সংস্করণে বিদ্যমান পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।

'পরিবর্তন প্রয়োগ করুন এবং কার্যকলাপ পুনরায় চালু করুন' API স্তর 35 ডিভাইস বা এমুলেটরগুলিতে কার্যকলাপ পুনরায় চালু করে না

আপনি যখন 'পরিবর্তন প্রয়োগ করুন এবং পুনরায় চালু করুন কার্যকলাপ' সহ একটি API 35 ডিভাইসে কোড পরিবর্তনগুলি স্থাপন করেন, অ্যাপটি পুনরায় চালু হবে না এবং আপনি পরিবর্তনগুলির প্রভাব দেখতে পাবেন না। আপনি যদি অ্যাপ্লিকেশনটি পুনরায় চালু করেন তবে আপনি কোড পরিবর্তনের প্রভাব দেখতে পাবেন। আমাদের দল সক্রিয়ভাবে এটি তদন্ত করছে.

ফায়ারবেস সহকারী উইন্ডো একটি ত্রুটি বার্তা প্রদর্শন করে

যদি ফায়ারবেস সহকারী উইন্ডো (প্রধান মেনু থেকে টুলস > ফায়ারবেস) একটি ত্রুটির বার্তা প্রদর্শন করে, তাহলে ক্যাশেগুলি বাতিল করুন এবং ত্রুটিটি ঠিক করতে Android স্টুডিও পুনরায় চালু করুন।

লেআউট ইন্সপেক্টর ব্যবহার করে একটি দৃশ্য বিচ্ছিন্ন করা যাবে না

এমবেডেড লেআউট ইন্সপেক্টর ব্যবহার করে একটি ভিউ আইসোলেট করার ক্ষমতা সাময়িকভাবে অনুপলব্ধ৷ আমরা ভবিষ্যতের রিলিজে এই সমস্যার সমাধান করার জন্য কাজ করছি।

লেআউট ইন্সপেক্টর ব্যবহার করে কম্পোজ নোডগুলি সব পরিদর্শনযোগ্য নয়

আপনি যদি লক্ষ্য করেন যে আপনি যখন লেআউট ইন্সপেক্টর ব্যবহার করছেন তখন সমস্ত রচনা নোডগুলি পরিদর্শনযোগ্য নয়, এটি সম্ভবত একটি বাগের কারণে যা রচনা সংস্করণ 1.5.0-alpha04 এ সংশোধন করা হয়েছে৷ আপনি যদি এই সমস্যার সম্মুখীন হন, তাহলে নিশ্চিত করুন যে আপনি কম্পোজ সংস্করণ 1.5.0-alpha04 বা উচ্চতর সংস্করণে আপগ্রেড করেছেন৷

রচনা পূর্বরূপ রেন্ডার করার সময় ত্রুটি৷

অ্যান্ড্রয়েড স্টুডিও চিপমঙ্ক দিয়ে শুরু করে, আপনি যদি java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner বা java.lang.ClassNotFoundException: androidx.savedstate.R$id ইস্যু প্যানেলে, debugImplementation নির্ভরতা অন্তর্ভুক্ত করতে ভুলবেন না androidx.lifecycle:lifecycle-viewmodel-savedstate আপনার মডিউলে।

আপনি যদি সমস্যা প্যানেলে java.lang.NoSuchFieldError: view_tree_lifecycle_owner দেখতে পান, তাহলে আপনার মডিউলে androidx.lifecycle:lifecycle-runtime এ একটি debugImplementation নির্ভরতা অন্তর্ভুক্ত করতে ভুলবেন না।

আপনি যদি java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener এ সমস্যাগুলি অন্তর্ভুক্ত করার জন্য নিশ্চিত করুন আপনার মডিউলে androidx.customview:customview-poolingcontainerdebugImplementation নির্ভরতা।

কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড ব্যবহার করার সময় ত্রুটি

সংস্করণ 4.2 দিয়ে শুরু করে, অ্যান্ড্রয়েড স্টুডিও এখন JDK 11-এ চলে৷ এই আপডেটটি সাইনিং কীগুলির সাথে সম্পর্কিত একটি অন্তর্নিহিত আচরণের পরিবর্তন ঘটায়৷

আপনি যখন Build > Generate Signed Bundle / APK- এ নেভিগেট করেন এবং একটি অ্যাপ বান্ডেল বা একটি APK-এর জন্য অ্যাপ সাইনিং কনফিগার করার চেষ্টা করেন, তখন কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড লিখলে নিম্নলিখিত ত্রুটি হতে পারে:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

এই সমস্যাটি সমাধান করতে, কী এবং কীস্টোর উভয়ের জন্য একই পাসওয়ার্ড লিখুন।

সংস্করণ 4.2 ইনস্টল করার পরে অ্যান্ড্রয়েড স্টুডিও শুরু হয় না

স্টুডিও পূর্ববর্তী .vmoptions আমদানি করার চেষ্টা করে এবং JDK 11 দ্বারা ব্যবহৃত আবর্জনা সংগ্রহকারীর সাথে কাজ করার জন্য সেগুলিকে স্যানিটাইজ করার চেষ্টা করে৷ যদি সেই প্রক্রিয়াটি ব্যর্থ হয়, তাহলে IDE কিছু ব্যবহারকারীর জন্য শুরু নাও হতে পারে যারা .vmoptions ফাইলে কাস্টম VM বিকল্পগুলি সেট করে৷

এই সমস্যাটি সমাধান করার জন্য, আমরা .vmoptions ("#" অক্ষর ব্যবহার করে) কাস্টম বিকল্পগুলি মন্তব্য করার পরামর্শ দিই৷ .vmoptions ফাইলটি নিম্নলিখিত অবস্থানে পাওয়া যাবে:

উইন্ডোজ

C:\Users\YourUserName\AppData\ [Local|Roaming] \Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

লিনাক্স

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

এই সমাধানের চেষ্টা করার পরেও যদি স্টুডিও শুরু না হয়, নীচে আপগ্রেড করার পরেও স্টুডিও শুরু হয় না দেখুন।

অ্যান্ড্রয়েড 11 এমুলেটরে ডেটাবেস ইন্সপেক্টর ক্র্যাশ ব্যবহার করা অ্যাপগুলি

অ্যান্ড্রয়েড 11 এমুলেটরে চলাকালীন ডেটাবেস ইন্সপেক্টর ব্যবহার করা অ্যাপগুলি ক্র্যাশ হতে পারে, লগক্যাটে নিম্নলিখিতগুলির মতো একটি ত্রুটি দেখা যাচ্ছে:

 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

এই সমস্যাটি সমাধান করতে, টুলস > SDK ম্যানেজার- এ নেভিগেট করে আপনার Android 11 এমুলেটরকে 9 বা উচ্চতর সংস্করণে আপগ্রেড করুন। SDK প্ল্যাটফর্ম ট্যাবে, প্যাকেজ বিশদ দেখান লেবেলযুক্ত বাক্সটি চেক করুন এবং Android 11 এমুলেটরের সংশোধন 9 বা উচ্চতর নির্বাচন করুন৷

আপগ্রেড করার পরে স্টুডিও শুরু হয় না

যদি স্টুডিও আপগ্রেড করার পরে শুরু না হয়, তাহলে সমস্যাটি Android স্টুডিওর পূর্ববর্তী সংস্করণ থেকে আমদানি করা একটি অবৈধ অ্যান্ড্রয়েড স্টুডিও কনফিগারেশন বা একটি বেমানান প্লাগইনের কারণে হতে পারে। একটি সমাধান হিসাবে, অ্যান্ড্রয়েড স্টুডিও সংস্করণ এবং অপারেটিং সিস্টেমের উপর নির্ভর করে নীচের ডিরেক্টরিটি মুছে ফেলার (বা ব্যাকআপের উদ্দেশ্যে নাম পরিবর্তন করার) চেষ্টা করুন এবং আবার অ্যান্ড্রয়েড স্টুডিও শুরু করুন৷ এটি অ্যান্ড্রয়েড স্টুডিওকে তার ডিফল্ট অবস্থায় রিসেট করবে, সমস্ত তৃতীয় পক্ষের প্লাগইন মুছে ফেলা হবে।

অ্যান্ড্রয়েড স্টুডিও 4.1 এবং তার পরের জন্য:

  • উইন্ডোজ: %APPDATA%\Google\AndroidStudio <version>
    উদাহরণ: C:\Users\ your_user_name \AppData\Roaming\Google\AndroidStudio4.1

  • macOS: ~/Library/Application Support/Google/AndroidStudio <version>
    উদাহরণ: ~/Library/Application Support/Google/AndroidStudio4.1

  • Linux: ~/.config/Google/AndroidStudio <version> এবং ~/.local/share/Google/AndroidStudio <version>
    উদাহরণ: ~/.config/Google/AndroidStudio4.1 এবং ~/.local/share/Google/AndroidStudio4.1

অ্যান্ড্রয়েড স্টুডিও 4.0 এবং তার আগের জন্য:

  • উইন্ডোজ: %HOMEPATH%\.AndroidStudio <version> \config
    উদাহরণ: C:\Users\ your_user_name \.AndroidStudio3.6\config

  • macOS: ~/Library/Preferences/AndroidStudio <version>
    উদাহরণ: ~/Library/Preferences/AndroidStudio3.6

  • লিনাক্স: ~/.AndroidStudio <version> /config
    উদাহরণ: ~/.AndroidStudio3.6/config

মনে রাখবেন যে অ্যান্ড্রয়েড স্টুডিওর ক্যানারি এবং বিটা রিলিজের কনফিগারেশন ডিরেক্টরি হল <version> জন্য XY এর পরিবর্তে PreviewX.Y । উদাহরণস্বরূপ, Android Studio 4.1 Canary বিল্ডগুলি AndroidStudioPreview4.1 ডিরেক্টরির পরিবর্তে AndroidStudio4.1 ব্যবহার করে যা রিলিজ প্রার্থী এবং স্থিতিশীল রিলিজের জন্য ব্যবহৃত হয়।

কোটলিন মাল্টিপ্ল্যাটফর্ম প্রকল্পে সংকলন সমস্যা

অনুপস্থিত প্রতীকগুলির কারণে Kotlin MPP কোডে সংকলন ত্রুটি দেখা দিতে পারে। আপনার Kotlin প্লাগইন 1.4 সংস্করণে আপগ্রেড করলে এই সমস্যাটি সমাধান করা উচিত।

লিনাক্সে মূল ম্যাপিং দ্বন্দ্ব

লিনাক্সে, নির্দিষ্ট কিছু কীবোর্ড শর্টকাট ডিফল্ট লিনাক্স কীবোর্ড শর্টকাট এবং জনপ্রিয় উইন্ডো ম্যানেজার যেমন কেডিই এবং জিনোমের সাথে দ্বন্দ্ব করে। এই বিরোধপূর্ণ কীবোর্ড শর্টকাটগুলি অ্যান্ড্রয়েড স্টুডিওতে আশানুরূপ কাজ নাও করতে পারে।

এই সমস্যা সম্পর্কে আরও তথ্য (সম্ভাব্য সমাধান সহ) IntelliJ এর বাগ ট্র্যাকারে পাওয়া যাবে।

ChromeOS-এ ছোট UI পাঠ্য

ChromeOS-এ, আগের রিলিজের তুলনায় পাঠ্য অনেক ছোট দেখা যেতে পারে। এই সমস্যাটি সমাধান করতে, নিম্নলিখিতগুলি করুন:

  1. ফাইল > সেটিংসে ক্লিক করে সেটিংস উইন্ডো খুলুন
  2. চেহারা এবং আচরণ > উপস্থিতিতে নেভিগেট করুন।
  3. কাস্টম ফন্ট ব্যবহার করুন নির্বাচন করুন।
  4. ফন্ট সাইজ বাড়ান।
  5. সেটিংস উইন্ডোতে, এডিটর > ফন্টে নেভিগেট করুন।
  6. ফন্ট সাইজ বাড়ান।
  7. ওকে ক্লিক করুন।

কোড এডিটিং

এই বিভাগে কোড এডিটর সম্পর্কিত পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।

হিমায়িত কীবোর্ড ইনপুট - লিনাক্সে "iBus" সমস্যা

লিনাক্স এবং অ্যান্ড্রয়েড স্টুডিওতে iBus ডেমনের মধ্যে কিছু পরিচিত মিথস্ক্রিয়া রয়েছে। কিছু পরিস্থিতিতে, IDE কীবোর্ড ইনপুটে সাড়া দেওয়া বন্ধ করে বা এলোমেলো অক্ষর ইনপুট করা শুরু করে। এই বাগটি iBus এবং XLib + AWT-এর মধ্যে কিছু অনুপস্থিত সিঙ্ক্রোনাইজেশনের কারণে ট্রিগার হয়েছে এবং ইতিমধ্যেই জেটব্রেইন এবং iBus- এ উজানে রিপোর্ট করা হয়েছে। এই সমস্যার জন্য তিনটি বর্তমান সমাধান রয়েছে:

  • ওয়ার্কঅ্যারাউন্ড 1: আইবাসকে সিঙ্ক্রোনাস মোডে জোর করুন। অ্যান্ড্রয়েড স্টুডিও শুরু করার আগে, কমান্ড লাইনে নিম্নলিখিতটি চালান:
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • সমাধান 2: অ্যান্ড্রয়েড স্টুডিওতে iBus ইনপুট অক্ষম করুন। শুধুমাত্র Android স্টুডিওর জন্য iBus ইনপুট অক্ষম করতে, কমান্ড লাইনে নিম্নলিখিতটি চালান:
    $ XMODIFIERS= ./bin/studio.sh
    এই সমাধানটি শুধুমাত্র অ্যান্ড্রয়েড স্টুডিওর জন্য ইনপুট পদ্ধতিগুলিকে অক্ষম করে, আপনি যে অন্য কোনও অ্যাপ্লিকেশন চালাচ্ছেন তা নয়৷ মনে রাখবেন যে আপনি যদি অ্যান্ড্রয়েড স্টুডিও চলাকালীন ডেমন পুনরায় চালু করেন (উদাহরণস্বরূপ, ibus-daemon -rd ) চালানোর মাধ্যমে, আপনি অন্য সমস্ত অ্যাপ্লিকেশনের জন্য ইনপুট পদ্ধতিগুলি কার্যকরভাবে অক্ষম করেন এবং একটি বিভাজন ত্রুটি সহ Android স্টুডিওর JVM ক্র্যাশ করতে পারেন।
  • ওয়ার্কঅ্যারাউন্ড 3: পরবর্তী ইনপুট শর্টকাটটি কন্ট্রোল+স্পেস-এ সেট করা নেই তা নিশ্চিত করতে শর্টকাট বাইন্ডিংগুলিকে দুবার চেক করুন, যেহেতু এটি অ্যান্ড্রয়েড স্টুডিওতে কোড সমাপ্তির শর্টকাটও। উবুন্টু 14.04 (বিশ্বস্ত) সুপার+স্পেসকে ডিফল্ট শর্টকাট করে, কিন্তু পূর্ববর্তী সংস্করণের সেটিংস এখনও আশেপাশে থাকতে পারে। আপনার শর্টকাট বাইন্ডিং চেক করতে, IBus পছন্দ উইন্ডো খুলতে কমান্ড লাইনে ibus-setup চালান। কীবোর্ড শর্টকাটের অধীনে, পরবর্তী ইনপুট পদ্ধতিটি পরীক্ষা করুন। যদি এটি Control+Space-এ সেট করা থাকে, তাহলে এটিকে সুপার+স্পেস বা আপনার পছন্দের অন্য শর্টকাটে পরিবর্তন করুন।

প্রকল্প কনফিগারেশন

এই বিভাগে প্রকল্প কনফিগারেশন এবং গ্রেডল সিঙ্ক সম্পর্কিত পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।

গ্রেডল সিঙ্ক ব্যর্থ হয়েছে: ভাঙা পাইপ

সমস্যা হল যে Gradle ডেমন IPv6 এর পরিবর্তে IPv4 ব্যবহার করার চেষ্টা করছে।

  • সমাধান 1: লিনাক্সে, আপনার ~/.profile বা ~/.bash_profile এ নিম্নলিখিতগুলি রাখুন:
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • ওয়ার্কঅ্যারাউন্ড 2: অ্যান্ড্রয়েড স্টুডিওর vmoptions ফাইলে , লাইন পরিবর্তন করুন -Djava.net.preferIPv4Addresses=true থেকে -Djava.net.preferIPv6Addresses=true আরও তথ্যের জন্য, নেটওয়ার্কিং IPv6 ব্যবহারকারী নির্দেশিকা দেখুন।

Gradle সিঙ্ক বা SDK ম্যানেজার থেকে "পিয়ার নট অথেন্টিকেটেড" ত্রুটি৷

এই ত্রুটির মূল কারণ হল $JAVA_HOME/jre/lib/certificates/cacerts এ একটি অনুপস্থিত শংসাপত্র। এই ত্রুটিগুলি সমাধান করতে, নিম্নলিখিত হিসাবে এগিয়ে যান:

  • আপনি একটি প্রক্সির পিছনে থাকলে, সরাসরি সংযোগ করার চেষ্টা করুন৷ যদি সরাসরি সংযোগ কাজ করে, তাহলে প্রক্সির মাধ্যমে সংযোগ করার জন্য আপনাকে cacerts ফাইলে প্রক্সি সার্ভারের শংসাপত্র যোগ করার জন্য keytool ব্যবহার করতে হতে পারে।
  • একটি সমর্থিত, অপরিবর্তিত JDK পুনরায় ইনস্টল করুন। উবুন্টু ব্যবহারকারীদের প্রভাবিত করে এমন একটি পরিচিত সমস্যা রয়েছে, যার ফলে একটি খালি /etc/ssl/certs/java/cacerts । এই সমস্যাটি সমাধান করতে, কমান্ড লাইনে নিম্নলিখিতটি চালান:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

স্থাপন করা হচ্ছে

এই বিভাগটি একটি সংযুক্ত ডিভাইসে আপনার অ্যাপ স্থাপনের সাথে সম্পর্কিত পরিচিত সমস্যাগুলি বর্ণনা করে৷

[শুধুমাত্র ম্যাক ওএস] /System/Volumes/Data অধীনে সংরক্ষিত প্রকল্পগুলিতে গ্রেডল ফাইল দেখার সমস্যা থাকার কারণে ক্রমবর্ধমান আপডেটগুলি প্রয়োগ করা হয় না

গ্রেডল ইস্যু 18149 অ্যান্ড্রয়েড গ্রেডল প্লাগইন 7.0 এবং উচ্চতর সংস্করণগুলিকে প্রভাবিত করে কারণ তাদের জন্য গ্রেডল সংস্করণ 7.0 এবং উচ্চতর প্রয়োজন ৷ Gradle 7.0 থেকে শুরু করে, ফাইল দেখা ডিফল্টরূপে সক্রিয় করা হয়। আপনি যদি Mac OS-এ কাজ করেন এবং আপনার প্রোজেক্ট /System/Volumes/Data অধীনে সংরক্ষিত থাকে, তাহলে Gradle ফাইল দেখা ফাইলের পরিবর্তনগুলি সঠিকভাবে ট্র্যাক করবে না। এর ফলে বিল্ড সিস্টেম কোনো ফাইল পরিবর্তন দেখতে পাবে না এবং তাই এটি APK(গুলি) আপডেট করবে না। ইনক্রিমেন্টাল ডিপ্লয়মেন্ট কোড তখন কিছুই করবে না কারণ স্থানীয় APK স্টেট ডিভাইসের মতোই।

এই সমস্যাটি সমাধান করার জন্য আপনাকে আপনার প্রকল্পের ডিরেক্টরিকে আপনার ব্যবহারকারী ডিরেক্টরিতে সরানো উচিত, অর্থাৎ, /Users/username অধীনে। বিল্ড সিস্টেমকে তারপর গ্রেডল ফাইল দেখার মাধ্যমে ফাইল পরিবর্তন সম্পর্কে সঠিকভাবে অবহিত করা হবে এবং ক্রমবর্ধমান পরিবর্তনগুলি সফলভাবে প্রয়োগ করা হবে।

MacOS হাই সিয়েরাতে Android এমুলেটর HAXM

macOS হাই সিয়েরা (10.13) এ অ্যান্ড্রয়েড এমুলেটরের জন্য HAXM 6.2.1+ প্রয়োজন macOS এর সাথে সর্বোত্তম সামঞ্জস্য এবং স্থিতিশীলতার জন্য৷ যাইহোক, HAXM-এর মতো কার্নেল এক্সটেনশন ইনস্টল করার জন্য macOS 10.13-এর আরও জড়িত প্রক্রিয়া রয়েছে। আপনাকে ম্যানুয়ালি কার্নেল এক্সটেনশনকে নিম্নলিখিতভাবে ইনস্টল করার অনুমতি দিতে হবে:

  1. প্রথমে, SDK ম্যানেজার থেকে HAXM-এর সর্বশেষ সংস্করণ ইনস্টল করার চেষ্টা করুন৷
  2. MacOS-এ, সিস্টেম পছন্দসমূহ > নিরাপত্তা এবং গোপনীয়তায় যান।
  3. আপনি যদি একটি সতর্কতা দেখেন যে বিকাশকারী "ইন্টেল কর্পোরেশন অ্যাপস" এর সিস্টেম সফ্টওয়্যারটি লোড হওয়া থেকে ব্লক করা হয়েছে , অনুমতি দিন ক্লিক করুন:

আরও তথ্য এবং সমাধানের জন্য, অ্যাপলের এই ওয়েবপেজটি দেখুন এবং 62395878 নম্বরটি দেখুন

পরিবর্তনগুলি প্রয়োগ করুন

এই বিভাগটি পরিচিত সমস্যাগুলি বর্ণনা করে যা পরিবর্তনগুলি প্রয়োগ করার সাথে সম্পর্কিত৷

নতুন অ্যাপের নাম প্রয়োগ করা হয়নি

আপনি যদি আপনার অ্যাপের নাম পরিবর্তন করেন এবং তারপরে সেই পরিবর্তনটি প্রয়োগ করার চেষ্টা করেন, আপডেট করা নামটি প্রতিফলিত নাও হতে পারে। এই সমস্যাটি সমাধান করতে, রান ক্লিক করুন রান আইকন আপনার অ্যাপ পুনরায় স্থাপন করতে এবং আপনার পরিবর্তনগুলি দেখতে৷

অ্যান্ড্রয়েড রানটাইমে সমস্যা ত্রুটি থ্রো

আপনি যদি এমন একটি ডিভাইস ব্যবহার করেন যা Android 8.0 বা 8.1 চালিত হয়, তাহলে নির্দিষ্ট ধরণের পরিবর্তনগুলি প্রয়োগ করার চেষ্টা করার সময় আপনি "VERIFICATION_ERROR" বার্তাগুলির সম্মুখীন হতে পারেন (বিশেষ করে যদি আপনি Kotlin ব্যবহার করছেন)৷ এই বার্তাটি Android 9.0 এবং উচ্চতর সংস্করণে ঠিক করা Android রানটাইমের একটি সমস্যার কারণে হয়েছে৷ যদিও সমস্যাটি পরিবর্তনগুলি প্রয়োগ করতে ব্যর্থ হয়, আপনি এখনও চালাতে পারেন রান আইকন আপনার পরিবর্তনগুলি দেখতে আবার আপনার অ্যাপ। যাইহোক, আমরা আপনাকে ডিভাইসটিকে Android 9.0 বা তার পরবর্তী সংস্করণে আপগ্রেড করার পরামর্শ দিচ্ছি।

ডিবাগিং এবং টেস্টিং

এই বিভাগে ডিবাগিং এবং আপনার অ্যাপ পরীক্ষা করার সাথে সম্পর্কিত পরিচিত সমস্যাগুলি বর্ণনা করে৷

অ্যান্ড্রয়েড স্টুডিও থেকে চালানোর সময় JUnit ক্লাসপথে অনুপস্থিত সংস্থানগুলি পরীক্ষা করে

যদি আপনার জাভা মডিউলগুলিতে নির্দিষ্ট সংস্থান ফোল্ডার থাকে, তাহলে IDE থেকে পরীক্ষা চালানোর সময় সেই সংস্থানগুলি পাওয়া যাবে না। কমান্ড লাইন থেকে Gradle ব্যবহার করে পরীক্ষা চালানো কাজ করবে। IDE থেকে Gradle check টাস্ক সম্পাদন করাও কাজ করবে। আরো বিস্তারিত জানার জন্য সংখ্যা 64887 দেখুন।

এই সমস্যাটি ঘটে কারণ IntelliJ 13 হিসাবে, যার জন্য ক্লাসপথ হিসাবে আপনার শুধুমাত্র একটি একক ফোল্ডার থাকা প্রয়োজন। IntelliJ এর নির্মাতা সমস্ত সংস্থান সেই বিল্ড ফোল্ডারে অনুলিপি করে, কিন্তু Gradle সংস্থানগুলির উপর অনুলিপি করে না।

  • সমাধান 1: ইউনিট পরীক্ষা চালানোর পরিবর্তে IDE থেকে Gradle check টাস্কটি চালান।
  • ওয়ার্কঅ্যারাউন্ড 2: বিল্ড ফোল্ডারে ম্যানুয়ালি রিসোর্স কপি করতে আপনার বিল্ড স্ক্রিপ্ট আপডেট করুন। আরও তথ্যের জন্য মন্তব্য #13 দেখুন।

JUnit পরীক্ষা চালানোর ফলে কোড দুইবার কম্পাইল হতে পারে

একটি নতুন প্রকল্প তৈরি করার সময়, টেমপ্লেট JUnit কনফিগারেশন দুটি "লঞ্চের আগে" পদক্ষেপের সাথে তৈরি করা যেতে পারে: মেক এবং গ্রেডল-অ্যাওয়ার মেক। এই কনফিগারেশনটি তারপর সমস্ত তৈরি করা JUnit রান কনফিগারেশনে প্রচারিত হয়।

  • বর্তমান প্রকল্পের জন্য সমস্যা সমাধান করতে, রান > কনফিগারেশন সম্পাদনা করুন ক্লিক করুন এবং শুধুমাত্র গ্রেডল-সচেতন মেক ধাপ অন্তর্ভুক্ত করতে ডিফল্ট JUnit কনফিগারেশন পরিবর্তন করুন।
  • সমস্ত ভবিষ্যতের প্রকল্পগুলির জন্য সমস্যাটি সমাধান করতে, ফাইল > প্রকল্প বন্ধ করুন ক্লিক করুন। আপনি স্বাগত পর্দা দেখতে হবে. তারপর Configure > Project Defaults > Run Configurations এ ক্লিক করুন এবং JUnit কনফিগারেশন পরিবর্তন করে শুধুমাত্র Gradle-ware Make step অন্তর্ভুক্ত করুন।

কিছু টেস্ট রান কনফিগারেশন কাজ করে না

পরীক্ষা পদ্ধতিতে ডান-ক্লিক করার সময় উপলব্ধ সমস্ত রান কনফিগারেশন বৈধ নয়। বিশেষত, নিম্নলিখিত কনফিগারেশনগুলি বৈধ নয়:

  • Gradle রান কনফিগারেশন (যা আইকন হিসাবে একটি Gradle লোগো আছে) কাজ করে না।
  • JUnit রান কনফিগারেশন (যাতে সবুজ অ্যান্ড্রয়েড ছাড়া একটি আইকন আছে) ইন্সট্রুমেন্টেশন পরীক্ষায় প্রযোজ্য নয়, যা স্থানীয় JVM-এ চালানো যাবে না।
অ্যান্ড্রয়েড স্টুডিও একটি প্রদত্ত প্রেক্ষাপটে তৈরি রান কনফিগারেশনকেও মনে রাখে (উদাহরণস্বরূপ, একটি নির্দিষ্ট ক্লাস বা পদ্ধতিতে ডান-ক্লিক করা), এবং ভবিষ্যতে অন্য কনফিগারেশনে চালানোর প্রস্তাব দেবে না। এটি ঠিক করতে, রান > কনফিগারেশন সম্পাদনা করুন ক্লিক করুন এবং ভুলভাবে তৈরি করা কনফিগারেশনগুলি সরান৷

নেটিভ কোড ডিবাগ করার সময় জাভা ব্রেকপয়েন্ট যোগ করা

যখন আপনার অ্যাপটি আপনার নেটিভ কোডে একটি ব্রেকপয়েন্টে বিরাম দেওয়া হয়, তখন অটো এবং ডুয়াল ডিবাগাররা আপনার সেট করা নতুন জাভা ব্রেকপয়েন্টগুলিকে অবিলম্বে চিনতে নাও পারে৷ এই সমস্যাটি এড়াতে, ডিবাগ সেশন শুরু করার আগে বা জাভা ব্রেকপয়েন্টে অ্যাপটি পজ করার সময় জাভা ব্রেকপয়েন্ট যোগ করুন। আরও তথ্যের জন্য, সংখ্যা 229949 দেখুন।

নেটিভ ডিবাগার থেকে বেরিয়ে আসা

জাভা এবং নেটিভ কোড ডিবাগ করার জন্য অটো বা ডুয়াল ডিবাগার ব্যবহার করার সময়, আপনি যদি আপনার জাভা কোড থেকে একটি নেটিভ ফাংশনে পা রাখেন (উদাহরণস্বরূপ, ডিবাগার আপনার জাভা কোডের একটি লাইনে এক্সিকিউশনকে থামিয়ে দেয় যা একটি নেটিভ ফাংশনকে কল করে এবং আপনি স্টেপ ইনটু ক্লিক করেন ) এবং আপনি আপনার জাভা কোডে ফিরে যেতে চান, প্রোগ্রাম পুনরায় শুরু করুন ক্লিক করুন ( স্টেপ আউটের পরিবর্তে অথবা স্টেপ ওভার) আপনার অ্যাপ্লিকেশান প্রক্রিয়া এখনও বিরাম দেওয়া হবে, তাই প্রোগ্রাম পুনরায় শুরু করুন ক্লিক করুন your-module -জাভা ট্যাবে এটি পুনরায় চালু করতে। আরও তথ্যের জন্য, সংখ্যা 224385 দেখুন।

লাইব্রেরি লোড করার সময় নেটিভ ডিবাগার হ্যাং হয়ে যায়

Android স্টুডিও 4.2 এবং উচ্চতর আপগ্রেড করার পরে প্রথমবার নেটিভ ডিবাগার ব্যবহার করার সময়, Android ডিভাইস থেকে লাইব্রেরি লোড করার সময় নেটিভ ডিবাগার সাড়া দেওয়া বন্ধ করতে পারে। এই সমস্যাটি একটি স্টিকি সমস্যা যা আপনি ডিবাগার বন্ধ করে পুনরায় চালু করলেও ঘটতে থাকে। এই সমস্যার সমাধান করতে, $USER/.lldb/module-cache/ এ LLDB ক্যাশে মুছুন।

নেটিভ ডিবাগার "প্রস্থান কোড 127 দিয়ে ডিবাগার প্রক্রিয়া শেষ" এর সাথে ক্র্যাশ হয়েছে

নেটিভ ডিবাগার শুরু করার সময় এই ত্রুটিটি Linux-ভিত্তিক প্ল্যাটফর্মে ঘটে। এটি নির্দেশ করে যে নেটিভ ডিবাগারের জন্য প্রয়োজনীয় একটি লাইব্রেরি স্থানীয় সিস্টেমে ইনস্টল করা নেই। অনুপস্থিত লাইব্রেরির নাম ইতিমধ্যে idea.log ফাইলে মুদ্রিত হতে পারে। যদি না হয়, আপনি Android স্টুডিও ইনস্টলেশন ডিরেক্টরিতে নেভিগেট করতে একটি টার্মিনাল ব্যবহার করতে পারেন এবং কোন লাইব্রেরিগুলি অনুপস্থিত তা জানতে bin/lldb/bin/LLDBFrontend --version কমান্ড লাইনটি চালাতে পারেন। সাধারণত, অনুপস্থিত লাইব্রেরি হল ncurses5 কারণ সাম্প্রতিক কিছু লিনাক্স ডিস্ট্রিবিউশন ইতিমধ্যেই ncurses6 এ আপগ্রেড হয়েছে।

প্রোফাইলার

এই বিভাগটি প্রোফাইলারদের সাথে পরিচিত সমস্যাগুলি বর্ণনা করে৷

নেটিভ মেমরি প্রোফাইলার: অ্যাপ স্টার্টআপের সময় প্রোফাইলিং উপলব্ধ নয়

অ্যাপ স্টার্টআপের সময় নেটিভ মেমরি প্রোফাইলারটি বর্তমানে অনুপলব্ধ৷ এই বিকল্পটি একটি আসন্ন প্রকাশে উপলব্ধ হবে।

একটি সমাধান হিসাবে, আপনি স্টার্টআপ প্রোফাইলগুলি ক্যাপচার করতে পারফেটো স্বতন্ত্র কমান্ড-লাইন প্রোফাইলার ব্যবহার করতে পারেন।

CPU প্রোফাইলারে টাইমআউট ত্রুটি

আপনি যখন নমুনা জাভা পদ্ধতি বা ট্রেস জাভা পদ্ধতি কনফিগারেশন নির্বাচন করেন তখন আপনি অ্যান্ড্রয়েড স্টুডিও সিপিইউ প্রোফাইলারে "রেকর্ডিং বন্ধ করতে ব্যর্থ" ত্রুটিগুলি অনুভব করতে পারেন। এগুলি প্রায়ই টাইমআউট ত্রুটি, বিশেষ করে যদি আপনি idea.log ফাইলে নিম্নলিখিত ত্রুটি বার্তাটি দেখতে পান:

Wait for ART trace file timed out

টাইমআউট ত্রুটিগুলি স্যাম্পল পদ্ধতির চেয়ে ট্রেস করা পদ্ধতিগুলিকে বেশি প্রভাবিত করে এবং ছোট রেকর্ডিংয়ের চেয়ে দীর্ঘ রেকর্ডিংগুলিকে বেশি প্রভাবিত করে৷ একটি অস্থায়ী সমাধান হিসাবে, ত্রুটিটি অদৃশ্য হয়ে যায় কিনা তা দেখতে ছোট রেকর্ডিংয়ের চেষ্টা করা সহায়ক হতে পারে।

আপনি যদি প্রোফাইলারের সাথে টাইমআউট সমস্যার সম্মুখীন হন, তাহলে অনুগ্রহ করে একটি বাগ ফাইল করুন যাতে আপনার ডিভাইস(গুলি) এর মেক/মডেল এবং idea.log এবং logcat-এর যেকোনো প্রাসঙ্গিক এন্ট্রি অন্তর্ভুক্ত থাকে।

ডিবাগিং বা প্রোফাইলিং করার সময় ADB ব্যতিক্রম

প্ল্যাটফর্ম টুলস 29.0.3 ব্যবহার করার সময়, নেটিভ ডিবাগিং এবং অ্যান্ড্রয়েড স্টুডিও প্রোফাইলারগুলি সঠিকভাবে কাজ নাও করতে পারে এবং আপনি যখন Help > Show Log নির্বাচন করেন তখন idea.log ফাইলে "AdbCommandRejectedException" বা "পোর্ট সংযোগ করতে ব্যর্থ" দেখতে পারেন। প্ল্যাটফর্ম টুলগুলিকে 29.0.4 বা উচ্চতর তে আপগ্রেড করা উভয় সমস্যার সমাধান করে।

প্ল্যাটফর্ম টুল আপগ্রেড করতে, নিম্নলিখিতগুলি করুন:

  1. টুলস > SDK ম্যানেজার বা SDK ম্যানেজার- এ ক্লিক করে Android স্টুডিও থেকে SDK ম্যানেজার খুলুন টুলবারে
  2. Android SDK Platform-Tools- এর পাশের চেকবক্সে ক্লিক করুন যাতে এটি একটি চেকমার্ক দেখায়। একটি ডাউনলোড আইকন বাম কলামে উপস্থিত হওয়া উচিত।
  3. প্রয়োগ করুন বা ঠিক আছে ক্লিক করুন।

প্লাগইন বিল্ড আউটপুট উইন্ডোকে কাজ করা থেকে বাধা দেয়

CMake সিম্পল হাইলাইটার প্লাগইন ব্যবহার করা বিল্ড আউটপুট উইন্ডোতে কন্টেন্ট দেখাতে বাধা দেয়। বিল্ড চলে এবং বিল্ড আউটপুট ট্যাব প্রদর্শিত হয়, কিন্তু কোন আউটপুট মুদ্রিত হয় না ( ইস্যু #204791544 )।

ইনস্টলেশন আদেশ লঞ্চ বাধা দেয়

পুরানো সংস্করণের আগে অ্যান্ড্রয়েড স্টুডিওর একটি নতুন সংস্করণ ইনস্টল করা পুরানো সংস্করণটিকে চালু করা থেকে আটকাতে পারে। উদাহরণস্বরূপ, আপনি যদি প্রথমে অ্যান্ড্রয়েড স্টুডিওর ক্যানারি সংস্করণটি ইনস্টল করেন এবং তারপরে স্থিতিশীল সংস্করণটি ইনস্টল এবং চালু করার চেষ্টা করেন, তবে স্থিতিশীল সংস্করণটি চালু নাও হতে পারে। এই ধরনের ক্ষেত্রে, স্থিতিশীল (পুরানো) সংস্করণটি চালু করতে আপনাকে অবশ্যই ক্যাশে সাফ করতে হবে। macOS-এ, ক্যাশে সাফ করতে Library/ApplicationSupport/Google/AndroidStudio version_number ডিরেক্টরি মুছে দিন। উইন্ডোজে, ক্যাশে সাফ করতে ডিস্ক ক্লিনআপ ব্যবহার করুন।

Espresso টেস্ট রেকর্ডার রচনার সাথে কাজ করে না

এসপ্রেসো টেস্ট রেকর্ডার এমন প্রজেক্টের সাথে কাজ করে না যাতে কম্পোজ থাকে। রচনা অন্তর্ভুক্ত প্রকল্পগুলির জন্য UI পরীক্ষা তৈরি করতে, আপনার রচনা বিন্যাস পরীক্ষা করা দেখুন।

লগক্যাট শর্টকাট অ-ইংরেজি কীবোর্ড লেআউটের সাথে বিরোধিতা করে

আপনি যদি একটি নন-ইংরেজি কীবোর্ড লেআউট ব্যবহার করেন তবে একটি ডিফল্ট Logcat কীবোর্ড শর্টকাট লেআউটের সাথে বিরোধ করতে পারে এবং Android স্টুডিওতে পাঠ্য সম্পাদনা করার সময় আপনাকে নির্দিষ্ট অক্ষর টাইপ করা থেকে বাধা দিতে পারে। এই সমস্যাটি সমাধান করতে, বিরোধপূর্ণ Logcat কীম্যাপটি মুছুন বা পুনরায় ম্যাপ করুন। অ্যান্ড্রয়েড স্টুডিওতে লগক্যাট কীম্যাপ সম্পাদনা করতে, অ্যান্ড্রয়েড স্টুডিও > সেটিংস > কীম্যাপে যান এবং কীম্যাপের তালিকায় Logcat অনুসন্ধান করুন। আরও তথ্যের জন্য, সংখ্যা #263475910 দেখুন।

অ্যান্ড্রয়েড স্টুডিও ইলেকট্রিক ইল প্যাচ 1-এ Logcat শর্টকাট অপসারণের মাধ্যমে এই সমস্যাটি সমাধান করা হবে।

অ্যান্ড্রয়েড গ্রেডল প্লাগইনের সাথে পরিচিত সমস্যা

এই বিভাগে Android Gradle প্লাগইনের সর্বশেষ স্থিতিশীল সংস্করণে বিদ্যমান পরিচিত সমস্যাগুলি বর্ণনা করে৷

সমস্ত গতিশীল-বৈশিষ্ট্য লাইব্রেরি নির্ভরতা লিন্ট চেক করা হয় না

একটি অ্যাপ মডিউল থেকে checkDependencies = true সহ লিন্ট চালানোর সময়, ডায়নামিক-ফিচার লাইব্রেরি নির্ভরতাগুলি চেক করা হয় না যদি না সেগুলি অ্যাপ নির্ভরতাও হয় ( ইস্যু #191977888 )। একটি সমাধান হিসাবে, লিন্ট টাস্কটি সেই লাইব্রেরিতে চালানো যেতে পারে।

ক্যারেজ রিটার্ন অক্ষর সহ নামযুক্ত ফাইল সাইনিং

JAR সাইনিং (v1 স্কিম) ক্যারেজ রিটার্ন অক্ষর ধারণকারী ফাইলের নাম সমর্থন করে না ( ইস্যু #63885809 )।

বিল্ড টাইমে বৈকল্পিক আউটপুট পরিবর্তন করা কাজ নাও করতে পারে

ভেরিয়েন্ট আউটপুট ম্যানিপুলেট করার জন্য ভেরিয়েন্ট API ব্যবহার করা নতুন প্লাগইনের সাথে ভেঙে গেছে। এটি এখনও সাধারণ কাজের জন্য কাজ করে, যেমন বিল্ড সময়ের সময় APK নাম পরিবর্তন করা, যেমনটি নীচে দেখানো হয়েছে:

// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

যাইহোক, outputFile অবজেক্ট অ্যাক্সেস করার সাথে জড়িত আরও জটিল কাজগুলি আর কাজ করে না। এর কারণ কনফিগারেশন পর্যায়ে বৈকল্পিক-নির্দিষ্ট কাজগুলি আর তৈরি করা হয় না। এর ফলে প্লাগইন তার সমস্ত আউটপুট সামনের দিকে না জানে, তবে এর অর্থ দ্রুত কনফিগারেশনের সময়ও।

manifestOutputFile আর উপলব্ধ নেই

processManifest.manifestOutputFile() পদ্ধতিটি আর উপলব্ধ নেই, এবং আপনি এটিকে কল করার সময় নিম্নলিখিত ত্রুটিটি পাবেন:

A problem occurred configuring project ':myapp'.
   Could not get unknown property 'manifestOutputFile' for task
   ':myapp:processDebugManifest' of type
   com.android.build.gradle.tasks.ProcessManifest.

প্রতিটি ভেরিয়েন্টের জন্য ম্যানিফেস্ট ফাইল পেতে manifestOutputFile() কল করার পরিবর্তে, আপনি processManifest.manifestOutputDirectory() কল করতে পারেন যাতে সমস্ত তৈরি করা ম্যানিফেস্ট রয়েছে এমন ডিরেক্টরির পাথ ফেরত দিতে পারেন। আপনি তারপর একটি ম্যানিফেস্ট সনাক্ত করতে পারেন এবং এটিতে আপনার যুক্তি প্রয়োগ করতে পারেন৷ নীচের নমুনাটি ম্যানিফেস্টের সংস্করণ কোডটিকে গতিশীলভাবে পরিবর্তন করে:

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        output.processManifest.doLast {
            // Stores the path to the maifest.
            String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
            // Stores the contents of the manifest.
            def manifestContent = file(manifestPath).getText()
            // Changes the version code in the stored text.
            manifestContent = manifestContent.replace('android:versionCode="1"',
                    String.format('android:versionCode="%s"', generatedCode))
            // Overwrites the manifest with the new text.
            file(manifestPath).write(manifestContent)
        }
    }
}

AGP 7.3.0 AIDL সমর্থন এবং Kotlin 1.7.x এর সমস্যা

Kotlin 1.7.x-এ KAPT-এর সাথে AGP 7.3.0 ব্যবহার করার ফলে নির্দিষ্ট বিল্ড ভেরিয়েন্টের জন্য AIDL সোর্স সেটগুলি সরানো হয়। আপনি এখনও অন্যান্য AIDL সোর্স সেটগুলি ব্যবহার করতে পারেন, যার মধ্যে main/ , বিল্ড প্রকার, পণ্যের স্বাদ এবং পণ্যের স্বাদের সংমিশ্রণ। আপনি যদি বৈকল্পিক-নির্দিষ্ট AIDL উত্স সেটগুলি ব্যবহার করতে চান তবে Kotlin 1.6.21 ব্যবহার করা চালিয়ে যান।

স্থির পরিচিত সমস্যা

এই বিভাগটি পরিচিত সমস্যাগুলি বর্ণনা করে যা সাম্প্রতিক প্রকাশে সংশোধন করা হয়েছে৷ আপনি যদি এই সমস্যাগুলির মধ্যে যেকোনও সম্মুখীন হন, তাহলে আপনাকে অ্যান্ড্রয়েড স্টুডিওকে সর্বশেষ স্থিতিশীল বা পূর্বরূপ সংস্করণে আপডেট করতে হবে।

অ্যান্ড্রয়েড স্টুডিও 2021.1.1 এ স্থির করা হয়েছে

  • অনুপস্থিত লিন্ট আউটপুট : যখন লিন্ট টাস্কটি UP-TO-DATE হয় ( ইস্যু #191897708 ) তখন stdout এ কোনো লিন্ট টেক্সট আউটপুট প্রিন্ট করা হয় না। AGP 7.1.0-alpha05 এ স্থির করা হয়েছে।
  • হিল্ট প্লাগইন ব্যবহার করে এমন একটি অ্যাপ প্রজেক্টের ইউনিট পরীক্ষা করার সমস্যা : ইউনিট টেস্ট ক্লাসপাথটিতে নন-ইনস্ট্রুমেন্টেড অ্যাপ ক্লাস রয়েছে, যার মানে হিল্ট ইউনিট টেস্ট চালানোর সময় ডিপেন্ডেন্সি ইনজেকশন পরিচালনা করার জন্য অ্যাপ ক্লাসকে ইনস্ট্রুমেন্ট করে না ( ইস্যু #213534628 )। AGP 7.1.1 এ স্থির করা হয়েছে।

অ্যান্ড্রয়েড স্টুডিও 2020.3.1 এ স্থির করা হয়েছে

  • কোটলিন প্রজেক্টে লিন্ট এক্সেপশন: কোটলিন প্রোজেক্ট যেগুলি checkDependencies = true সেট করে নাল পয়েন্টার ব্যতিক্রম বা ত্রুটির সম্মুখীন হতে পারে ( ইস্যু #158777858 )।

অ্যান্ড্রয়েড স্টুডিও 4.2 এ স্থির করা হয়েছে

  • macOS Big Sur-এ IDE হিমায়িত হয়: আপনি একটি ডায়ালগ খুললে Android Studio 4.1 হিমায়িত হতে পারে।

অ্যান্ড্রয়েড স্টুডিও 4.1 এ স্থির করা হয়েছে

  • IDE এর পূর্ববর্তী সংস্করণ থেকে মেমরি সেটিংস প্রয়োগ করতে পুনরায় চালু করুন: Android Studio আপডেট করার পরে, IDE-এর পূর্ববর্তী সংস্করণ থেকে স্থানান্তরিত যেকোন মেমরি সেটিংস প্রয়োগ করতে আপনাকে Android Studio পুনরায় চালু করতে হবে।
  • কাস্টম অনুমতি স্ট্রিং সহ ম্যানিফেস্ট ক্লাস আর ডিফল্টভাবে তৈরি হয় না: আপনি যদি ক্লাস তৈরি করতে চান, android.generateManifestClass = true সেট করুন।

অ্যান্ড্রয়েড স্টুডিও 3.6 এ স্থির করা হয়েছে

  • LineageOS-এ APK ইনস্টলেশান ত্রুটি : LineageOS বা CyanogenMod-এর নির্দিষ্ট সংস্করণগুলি চলমান ডিভাইসগুলিতে আপনার অ্যাপ স্থাপন করা ব্যর্থ হতে পারে এবং একটি INSTALL_PARSE_FAILED_NOT_APK ব্যতিক্রম হতে পারে৷

    অ্যান্ড্রয়েড স্টুডিও 3.6 বিটা 1 এবং উচ্চতর সংস্করণে, আপনি যখন আপনার অ্যাপ LineageOS বা CyanogenMod ডিভাইসে স্থাপন করেন তখন IDE একটি সম্পূর্ণ অ্যাপ ইনস্টল করার মাধ্যমে এই ব্যতিক্রমটি পরিচালনা করে, যার ফলে আরো বেশি সময় লাগতে পারে।

অ্যান্ড্রয়েড স্টুডিও 3.5.2 এ স্থির করা হয়েছে

  • ভাঙা XML কোড শৈলী : XML কোড সম্পাদনা করার সময়, আপনি মেনু বার থেকে কোড > রিফরম্যাট কোড নির্বাচন করার সময় IDE একটি ভুল কোড শৈলী প্রয়োগ করে।

অ্যান্ড্রয়েড স্টুডিও 3.3.1 এ স্থির করা হয়েছে

  • C++-ভিত্তিক প্রকল্পগুলি স্ক্যান করার সময় মেমরি ত্রুটির বাইরে : যখন Gradle একই ড্রাইভে একাধিক স্থানে C++ কোড আছে এমন একটি প্রকল্প স্ক্যান করে, স্ক্যানে প্রথম সাধারণ ডিরেক্টরির নীচের সমস্ত ডিরেক্টরি অন্তর্ভুক্ত থাকে। প্রচুর সংখ্যক ডিরেক্টরি এবং ফাইল স্ক্যান করার ফলে মেমরির ত্রুটি হতে পারে।

    এই সমস্যা সম্পর্কে আরও তথ্যের জন্য, সমস্যাটির সাথে যুক্ত বাগ পড়ুন।

,

এই পৃষ্ঠাটি Android Studio Ladybug এবং Android Gradle প্লাগইন 8.7.0 এর সাথে পরিচিত সমস্যাগুলি ট্র্যাক করে৷ আপনি যদি এমন একটি সমস্যা অনুভব করেন যা ইতিমধ্যেই এখানে অন্তর্ভুক্ত করা হয়নি, দয়া করে একটি বাগ রিপোর্ট করুন

প্রিভিউতে আপগ্রেড করুন: অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন-এর প্রতিটি রিলিজের লক্ষ্য স্থায়িত্ব এবং কর্মক্ষমতা উন্নত করা এবং নতুন বৈশিষ্ট্য যোগ করা। এখনই আসন্ন রিলিজের সুবিধাগুলি উপভোগ করতে, অ্যান্ড্রয়েড স্টুডিও প্রিভিউ ডাউনলোড এবং ইনস্টল করুন।

অ্যান্ড্রয়েড স্টুডিওর সাথে পরিচিত সমস্যা

এই বিভাগে Android স্টুডিওর সর্বশেষ স্থিতিশীল সংস্করণে বিদ্যমান পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।

'পরিবর্তন প্রয়োগ করুন এবং কার্যকলাপ পুনরায় চালু করুন' API স্তর 35 ডিভাইস বা এমুলেটরগুলিতে কার্যকলাপ পুনরায় চালু করে না

আপনি যখন 'পরিবর্তন প্রয়োগ করুন এবং পুনরায় চালু করুন কার্যকলাপ' সহ একটি API 35 ডিভাইসে কোড পরিবর্তনগুলি স্থাপন করেন, অ্যাপটি পুনরায় চালু হবে না এবং আপনি পরিবর্তনগুলির প্রভাব দেখতে পাবেন না। আপনি যদি অ্যাপ্লিকেশনটি পুনরায় চালু করেন তবে আপনি কোড পরিবর্তনের প্রভাব দেখতে পাবেন। আমাদের দল সক্রিয়ভাবে এটি তদন্ত করছে.

ফায়ারবেস সহকারী উইন্ডো একটি ত্রুটি বার্তা প্রদর্শন করে

যদি ফায়ারবেস সহকারী উইন্ডো (প্রধান মেনু থেকে টুলস > ফায়ারবেস) একটি ত্রুটির বার্তা প্রদর্শন করে, তাহলে ক্যাশেগুলি বাতিল করুন এবং ত্রুটিটি ঠিক করতে Android স্টুডিও পুনরায় চালু করুন।

লেআউট ইন্সপেক্টর ব্যবহার করে একটি দৃশ্য বিচ্ছিন্ন করা যাবে না

এমবেডেড লেআউট ইন্সপেক্টর ব্যবহার করে একটি ভিউ আইসোলেট করার ক্ষমতা সাময়িকভাবে অনুপলব্ধ৷ আমরা ভবিষ্যতের রিলিজে এই সমস্যার সমাধান করার জন্য কাজ করছি।

লেআউট ইন্সপেক্টর ব্যবহার করে কম্পোজ নোডগুলি সব পরিদর্শনযোগ্য নয়

আপনি যদি লক্ষ্য করেন যে আপনি যখন লেআউট ইন্সপেক্টর ব্যবহার করছেন তখন সমস্ত রচনা নোডগুলি পরিদর্শনযোগ্য নয়, এটি সম্ভবত একটি বাগের কারণে যা রচনা সংস্করণ 1.5.0-alpha04 এ সংশোধন করা হয়েছে৷ আপনি যদি এই সমস্যার সম্মুখীন হন, তাহলে নিশ্চিত করুন যে আপনি কম্পোজ সংস্করণ 1.5.0-alpha04 বা উচ্চতর সংস্করণে আপগ্রেড করেছেন৷

রচনা পূর্বরূপ রেন্ডার করার সময় ত্রুটি৷

অ্যান্ড্রয়েড স্টুডিও চিপমঙ্ক দিয়ে শুরু করে, আপনি যদি java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner বা java.lang.ClassNotFoundException: androidx.savedstate.R$id ইস্যু প্যানেলে, debugImplementation নির্ভরতা অন্তর্ভুক্ত করতে ভুলবেন না androidx.lifecycle:lifecycle-viewmodel-savedstate আপনার মডিউলে।

আপনি যদি সমস্যা প্যানেলে java.lang.NoSuchFieldError: view_tree_lifecycle_owner দেখতে পান, তাহলে আপনার মডিউলে androidx.lifecycle:lifecycle-runtime এ একটি debugImplementation নির্ভরতা অন্তর্ভুক্ত করতে ভুলবেন না।

আপনি যদি java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener এ সমস্যাগুলি অন্তর্ভুক্ত করার জন্য নিশ্চিত করুন আপনার মডিউলে androidx.customview:customview-poolingcontainerdebugImplementation নির্ভরতা।

কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড ব্যবহার করার সময় ত্রুটি

সংস্করণ 4.2 দিয়ে শুরু করে, অ্যান্ড্রয়েড স্টুডিও এখন JDK 11-এ চলে৷ এই আপডেটটি সাইনিং কীগুলির সাথে সম্পর্কিত একটি অন্তর্নিহিত আচরণের পরিবর্তন ঘটায়৷

আপনি যখন Build > Generate Signed Bundle / APK- এ নেভিগেট করেন এবং একটি অ্যাপ বান্ডেল বা একটি APK-এর জন্য অ্যাপ সাইনিং কনফিগার করার চেষ্টা করেন, তখন কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড লিখলে নিম্নলিখিত ত্রুটি হতে পারে:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

এই সমস্যাটি সমাধান করতে, কী এবং কীস্টোর উভয়ের জন্য একই পাসওয়ার্ড লিখুন।

সংস্করণ 4.2 ইনস্টল করার পরে অ্যান্ড্রয়েড স্টুডিও শুরু হয় না

স্টুডিও পূর্ববর্তী .vmoptions আমদানি করার চেষ্টা করে এবং JDK 11 দ্বারা ব্যবহৃত আবর্জনা সংগ্রহকারীর সাথে কাজ করার জন্য সেগুলিকে স্যানিটাইজ করার চেষ্টা করে৷ যদি সেই প্রক্রিয়াটি ব্যর্থ হয়, তাহলে IDE কিছু ব্যবহারকারীর জন্য শুরু নাও হতে পারে যারা .vmoptions ফাইলে কাস্টম VM বিকল্পগুলি সেট করে৷

এই সমস্যাটি সমাধান করার জন্য, আমরা .vmoptions ("#" অক্ষর ব্যবহার করে) কাস্টম বিকল্পগুলি মন্তব্য করার পরামর্শ দিই৷ .vmoptions ফাইলটি নিম্নলিখিত অবস্থানে পাওয়া যাবে:

উইন্ডোজ

C:\Users\YourUserName\AppData\ [Local|Roaming] \Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

লিনাক্স

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

এই সমাধানের চেষ্টা করার পরেও যদি স্টুডিও শুরু না হয়, নীচে আপগ্রেড করার পরেও স্টুডিও শুরু হয় না দেখুন।

অ্যান্ড্রয়েড 11 এমুলেটরে ডেটাবেস ইন্সপেক্টর ক্র্যাশ ব্যবহার করা অ্যাপগুলি

অ্যান্ড্রয়েড 11 এমুলেটরে চলাকালীন ডেটাবেস ইন্সপেক্টর ব্যবহার করা অ্যাপগুলি ক্র্যাশ হতে পারে, লগক্যাটে নিম্নলিখিতগুলির মতো একটি ত্রুটি দেখা যাচ্ছে:

 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

এই সমস্যাটি সমাধান করতে, টুলস > SDK ম্যানেজার- এ নেভিগেট করে আপনার Android 11 এমুলেটরকে 9 বা উচ্চতর সংস্করণে আপগ্রেড করুন। SDK প্ল্যাটফর্ম ট্যাবে, প্যাকেজ বিশদ দেখান লেবেলযুক্ত বাক্সটি চেক করুন এবং Android 11 এমুলেটরের সংশোধন 9 বা উচ্চতর নির্বাচন করুন৷

আপগ্রেড করার পরে স্টুডিও শুরু হয় না

যদি স্টুডিও আপগ্রেড করার পরে শুরু না হয়, তাহলে সমস্যাটি Android স্টুডিওর পূর্ববর্তী সংস্করণ থেকে আমদানি করা একটি অবৈধ অ্যান্ড্রয়েড স্টুডিও কনফিগারেশন বা একটি বেমানান প্লাগইনের কারণে হতে পারে। একটি সমাধান হিসাবে, অ্যান্ড্রয়েড স্টুডিও সংস্করণ এবং অপারেটিং সিস্টেমের উপর নির্ভর করে নীচের ডিরেক্টরিটি মুছে ফেলার (বা ব্যাকআপের উদ্দেশ্যে নাম পরিবর্তন করার) চেষ্টা করুন এবং আবার অ্যান্ড্রয়েড স্টুডিও শুরু করুন৷ এটি অ্যান্ড্রয়েড স্টুডিওকে তার ডিফল্ট অবস্থায় রিসেট করবে, সমস্ত তৃতীয় পক্ষের প্লাগইন মুছে ফেলা হবে।

অ্যান্ড্রয়েড স্টুডিও 4.1 এবং তার পরের জন্য:

  • উইন্ডোজ: %APPDATA%\Google\AndroidStudio <version>
    উদাহরণ: C:\Users\ your_user_name \AppData\Roaming\Google\AndroidStudio4.1

  • macOS: ~/Library/Application Support/Google/AndroidStudio <version>
    উদাহরণ: ~/Library/Application Support/Google/AndroidStudio4.1

  • Linux: ~/.config/Google/AndroidStudio <version> এবং ~/.local/share/Google/AndroidStudio <version>
    উদাহরণ: ~/.config/Google/AndroidStudio4.1 এবং ~/.local/share/Google/AndroidStudio4.1

অ্যান্ড্রয়েড স্টুডিও 4.0 এবং তার আগের জন্য:

  • উইন্ডোজ: %HOMEPATH%\.AndroidStudio <version> \config
    উদাহরণ: C:\Users\ your_user_name \.AndroidStudio3.6\config

  • macOS: ~/Library/Preferences/AndroidStudio <version>
    উদাহরণ: ~/Library/Preferences/AndroidStudio3.6

  • লিনাক্স: ~/.AndroidStudio <version> /config
    উদাহরণ: ~/.AndroidStudio3.6/config

মনে রাখবেন যে অ্যান্ড্রয়েড স্টুডিওর ক্যানারি এবং বিটা রিলিজের কনফিগারেশন ডিরেক্টরি হল <version> জন্য XY এর পরিবর্তে PreviewX.Y । উদাহরণস্বরূপ, Android Studio 4.1 Canary বিল্ডগুলি AndroidStudioPreview4.1 ডিরেক্টরির পরিবর্তে AndroidStudio4.1 ব্যবহার করে যা রিলিজ প্রার্থী এবং স্থিতিশীল রিলিজের জন্য ব্যবহৃত হয়।

কোটলিন মাল্টিপ্ল্যাটফর্ম প্রকল্পে সংকলন সমস্যা

অনুপস্থিত প্রতীকগুলির কারণে Kotlin MPP কোডে সংকলন ত্রুটি দেখা দিতে পারে। আপনার Kotlin প্লাগইন 1.4 সংস্করণে আপগ্রেড করলে এই সমস্যাটি সমাধান করা উচিত।

লিনাক্সে মূল ম্যাপিং দ্বন্দ্ব

লিনাক্সে, নির্দিষ্ট কিছু কীবোর্ড শর্টকাট ডিফল্ট লিনাক্স কীবোর্ড শর্টকাট এবং জনপ্রিয় উইন্ডো ম্যানেজার যেমন কেডিই এবং জিনোমের সাথে দ্বন্দ্ব করে। এই বিরোধপূর্ণ কীবোর্ড শর্টকাটগুলি অ্যান্ড্রয়েড স্টুডিওতে আশানুরূপ কাজ নাও করতে পারে।

এই সমস্যা সম্পর্কে আরও তথ্য (সম্ভাব্য সমাধান সহ) IntelliJ এর বাগ ট্র্যাকারে পাওয়া যাবে।

ChromeOS-এ ছোট UI পাঠ্য

ChromeOS-এ, আগের রিলিজের তুলনায় পাঠ্য অনেক ছোট দেখা যেতে পারে। এই সমস্যাটি সমাধান করতে, নিম্নলিখিতগুলি করুন:

  1. ফাইল > সেটিংসে ক্লিক করে সেটিংস উইন্ডো খুলুন
  2. চেহারা এবং আচরণ > উপস্থিতিতে নেভিগেট করুন।
  3. কাস্টম ফন্ট ব্যবহার করুন নির্বাচন করুন।
  4. ফন্ট সাইজ বাড়ান।
  5. সেটিংস উইন্ডোতে, এডিটর > ফন্টে নেভিগেট করুন।
  6. ফন্ট সাইজ বাড়ান।
  7. ওকে ক্লিক করুন।

কোড এডিটিং

এই বিভাগে কোড এডিটর সম্পর্কিত পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।

হিমায়িত কীবোর্ড ইনপুট - লিনাক্সে "iBus" সমস্যা

লিনাক্স এবং অ্যান্ড্রয়েড স্টুডিওতে iBus ডেমনের মধ্যে কিছু পরিচিত মিথস্ক্রিয়া রয়েছে। কিছু পরিস্থিতিতে, IDE কীবোর্ড ইনপুটে সাড়া দেওয়া বন্ধ করে বা এলোমেলো অক্ষর ইনপুট করা শুরু করে। এই বাগটি iBus এবং XLib + AWT-এর মধ্যে কিছু অনুপস্থিত সিঙ্ক্রোনাইজেশনের কারণে ট্রিগার হয়েছে এবং ইতিমধ্যেই জেটব্রেইন এবং iBus- এ উজানে রিপোর্ট করা হয়েছে। এই সমস্যার জন্য তিনটি বর্তমান সমাধান রয়েছে:

  • ওয়ার্কঅ্যারাউন্ড 1: আইবাসকে সিঙ্ক্রোনাস মোডে জোর করুন। অ্যান্ড্রয়েড স্টুডিও শুরু করার আগে, কমান্ড লাইনে নিম্নলিখিতগুলি চালান:
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • ওয়ার্কআরাউন্ড 2: অ্যান্ড্রয়েড স্টুডিওতে আইবিইউএস ইনপুট অক্ষম করুন। কেবলমাত্র অ্যান্ড্রয়েড স্টুডিওর জন্য আইবিইউএস ইনপুট অক্ষম করতে, কমান্ড লাইনে নিম্নলিখিতগুলি চালান:
    $ XMODIFIERS= ./bin/studio.sh
    এই কাজের ক্ষেত্রটি কেবলমাত্র অ্যান্ড্রয়েড স্টুডিওর জন্য ইনপুট পদ্ধতিগুলি অক্ষম করে, আপনি চালাচ্ছেন এমন কোনও অ্যাপ্লিকেশন নয়। মনে রাখবেন যে অ্যান্ড্রয়েড স্টুডিও চলাকালীন আপনি যদি ডেমনটি পুনরায় চালু করেন (উদাহরণস্বরূপ, ibus-daemon -rd চালিয়ে), আপনি অন্যান্য সমস্ত অ্যাপ্লিকেশনগুলির জন্য ইনপুট পদ্ধতিগুলি কার্যকরভাবে অক্ষম করেন এবং একটি বিভাগের ত্রুটিযুক্ত অ্যান্ড্রয়েড স্টুডিওর জেভিএমকে ক্র্যাশ করতে পারেন।
  • ওয়ার্কআরাউন্ড 3: পরবর্তী ইনপুট শর্টকাটটি +স্থান নিয়ন্ত্রণ করতে সেট করা নেই তা নিশ্চিত করার জন্য শর্টকাট বাইন্ডিংগুলি ডাবল-চেক করুন, কারণ এটি অ্যান্ড্রয়েড স্টুডিওতে কোড সমাপ্তির শর্টকাটও। উবুন্টু 14.04 (বিশ্বস্ত) সুপার+স্পেসকে ডিফল্ট শর্টকাট তৈরি করে, তবে পূর্ববর্তী সংস্করণগুলির সেটিংস এখনও কাছাকাছি থাকতে পারে। আপনার শর্টকাট বাইন্ডিংগুলি পরীক্ষা করতে, আইবিইউএস পছন্দগুলি উইন্ডোটি খোলার জন্য কমান্ড লাইনে ibus-setup চালান। কীবোর্ড শর্টকাটগুলির অধীনে, পরবর্তী ইনপুট পদ্ধতিটি পরীক্ষা করুন। যদি এটি+স্থান নিয়ন্ত্রণ করতে সেট করা থাকে তবে এটিকে সুপার+স্পেস বা আপনার পছন্দের অন্য কোনও শর্টকাট পরিবর্তন করুন।

প্রকল্প কনফিগারেশন

এই বিভাগটি প্রকল্প কনফিগারেশন এবং গ্রেডল সিঙ্ক সম্পর্কিত পরিচিত বিষয়গুলি বর্ণনা করে।

গ্রেডল সিঙ্ক ব্যর্থ: ভাঙা পাইপ

সমস্যাটি হ'ল গ্রেডল ডেমন আইপিভি 6 এর পরিবর্তে আইপিভি 4 ব্যবহার করার চেষ্টা করছে।

গ্রেড সিঙ্ক বা এসডিকে ম্যানেজার থেকে "পিয়ার প্রমাণিত নয়" ত্রুটি

এই ত্রুটিগুলির মূল কারণ হ'ল $JAVA_HOME/jre/lib/certificates/cacerts অনুপস্থিত শংসাপত্র। এই ত্রুটিগুলি সমাধান করতে, নিম্নলিখিত হিসাবে এগিয়ে যান:

  • আপনি যদি কোনও প্রক্সির পিছনে থাকেন তবে সরাসরি সংযোগ করার চেষ্টা করুন। যদি সরাসরি সংযোগটি কাজ করে, তবে প্রক্সিটির মাধ্যমে সংযোগ করার জন্য আপনাকে ক্যাসার্টস ফাইলে প্রক্সি সার্ভারের শংসাপত্র যুক্ত করতে keytool ব্যবহার করতে হবে।
  • একটি সমর্থিত, অপরিশোধিত জেডিকে পুনরায় ইনস্টল করুন। উবুন্টু ব্যবহারকারীদের প্রভাবিত করার একটি পরিচিত সমস্যা রয়েছে, যার ফলস্বরূপ একটি খালি /etc/ssl/certs/java/cacerts । এই সমস্যাটি ঘিরে কাজ করতে, কমান্ড লাইনে নিম্নলিখিতগুলি সম্পাদন করুন:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

স্থাপন করা হচ্ছে

এই বিভাগটি আপনার অ্যাপ্লিকেশনটিকে একটি সংযুক্ত ডিভাইসে মোতায়েন সম্পর্কিত পরিচিত বিষয়গুলি বর্ণনা করে।

[কেবলমাত্র ম্যাক ওএস] /System/Volumes/Data অধীনে সংরক্ষিত প্রকল্পগুলিতে গ্রেড ফাইল দেখার কোনও সমস্যার কারণে ইনক্রিমেন্টাল আপডেটগুলি প্রয়োগ করা হয় না

গ্রেডল ইস্যু 18149 অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণগুলি 7.0 এবং উচ্চতর প্রভাবিত করে কারণ তাদের গ্রেডল সংস্করণ 7.0 এবং উচ্চতর প্রয়োজন । গ্রেড 7.0 থেকে শুরু করে, ফাইল পর্যবেক্ষণ ডিফল্টরূপে সক্ষম করা হয়। আপনি যদি ম্যাক ওএসে কাজ করছেন এবং আপনার প্রকল্পটি /System/Volumes/Data অধীনে সংরক্ষণ করা হয়েছে, গ্রেড ফাইল পর্যবেক্ষণ ফাইলের পরিবর্তনগুলি সঠিকভাবে ট্র্যাক করবে না। এর ফলে বিল্ড সিস্টেমটি কোনও ফাইলের পরিবর্তন না দেখে এবং এটি এপিকে (গুলি) আপডেট করবে না। ইনক্রিমেন্টাল ডিপ্লোয়মেন্ট কোডটি তখন কিছুই করবে না কারণ স্থানীয় এপিকে রাষ্ট্রটি ডিভাইসের মতোই।

এই সমস্যাটি ঘিরে কাজ করার জন্য আপনার আপনার প্রকল্পের ডিরেক্টরিটি আপনার ব্যবহারকারী ডিরেক্টরিতে, অর্থাৎ /Users/username দিকে নিয়ে যাওয়া উচিত। এরপরে বিল্ড সিস্টেমটি গ্রেড ফাইল দেখার মাধ্যমে ফাইল পরিবর্তনগুলি সম্পর্কে যথাযথভাবে অবহিত করা হবে এবং ইনক্রিমেন্টাল পরিবর্তনগুলি সফলভাবে প্রয়োগ করা হবে।

ম্যাকোস হাই সিয়েরায় অ্যান্ড্রয়েড এমুলেটর হ্যাক্সম

ম্যাকোস হাই সিয়েরা (10.13) এ অ্যান্ড্রয়েড এমুলেটরটির জন্য ম্যাকোসের সাথে সেরা সামঞ্জস্যতা এবং স্থিতিশীলতার জন্য HAXM 6.2.1+ প্রয়োজন। তবে, ম্যাকোস 10.13 এর এইচএএক্সএমের মতো কার্নেল এক্সটেনশনগুলি ইনস্টল করার জন্য আরও জড়িত প্রক্রিয়া রয়েছে। আপনাকে ম্যানুয়ালি কার্নেল এক্সটেনশনটি নিজেই নীচে ইনস্টল করার অনুমতি দিতে হবে:

  1. প্রথমে এসডিকে ম্যানেজারের কাছ থেকে এইচএএক্সএমের সর্বশেষ সংস্করণ ইনস্টল করার চেষ্টা করুন।
  2. ম্যাকোসে, সিস্টেমের পছন্দসমূহ> সুরক্ষা এবং গোপনীয়তায় যান।
  3. আপনি যদি কোনও সতর্কতা দেখতে পান যে বিকাশকারী "ইন্টেল কর্পোরেশন অ্যাপ্লিকেশনগুলি" থেকে সিস্টেম সফ্টওয়্যারটি লোডিং থেকে অবরুদ্ধ ছিল , তবে ক্লিক করুন: ক্লিক করুন :

আরও তথ্য এবং কাজের জন্য, এই অ্যাপল ওয়েবপৃষ্ঠাটি দেখুন এবং 62395878 ইস্যু করুন

পরিবর্তনগুলি প্রয়োগ করুন

এই বিভাগটি এমন পরিচিত বিষয়গুলি বর্ণনা করে যা পরিবর্তনগুলি প্রয়োগের সাথে সম্পর্কিত।

নতুন অ্যাপের নাম প্রয়োগ করা হয়নি

যদি আপনি আপনার অ্যাপ্লিকেশনটির নাম পরিবর্তন করেন এবং তারপরে সেই পরিবর্তনটি প্রয়োগ করার চেষ্টা করেন তবে আপডেট হওয়া নামটি প্রতিফলিত হতে পারে না। এই সমস্যাটি ঘিরে কাজ করতে, রান ক্লিক করুন রান আইকন আপনার অ্যাপ্লিকেশনটি পুনরায় স্থাপন করতে এবং আপনার পরিবর্তনগুলি দেখতে।

অ্যান্ড্রয়েড রানটাইম ইস্যু ত্রুটি ছুড়ে ফেলেছে

আপনি যদি অ্যান্ড্রয়েড 8.0 বা 8.1 চালিত কোনও ডিভাইস ব্যবহার করছেন তবে নির্দিষ্ট ধরণের পরিবর্তনগুলি প্রয়োগ করার চেষ্টা করার সময় আপনি "যাচাইকরণ_আরর" বার্তাগুলির মুখোমুখি হতে পারেন (বিশেষত যদি আপনি কোটলিন ব্যবহার করছেন)। এই বার্তাটি অ্যান্ড্রয়েড রানটাইমের সাথে একটি সমস্যার কারণে ঘটে যা অ্যান্ড্রয়েড 9.0 এবং উচ্চতর মধ্যে স্থির থাকে। যদিও ইস্যুটি ব্যর্থ হওয়ার জন্য পরিবর্তনগুলি প্রয়োগ করে, আপনি এখনও চালাতে পারেন রান আইকন আপনার পরিবর্তনগুলি দেখতে আবার আপনার অ্যাপ্লিকেশন। তবে, আমরা আপনাকে ডিভাইসটি অ্যান্ড্রয়েড 9.0 বা তার বেশি আপগ্রেড করার পরামর্শ দিচ্ছি।

ডিবাগিং এবং টেস্টিং

এই বিভাগটি আপনার অ্যাপ্লিকেশনটি ডিবাগিং এবং পরীক্ষা সম্পর্কিত পরিচিত বিষয়গুলি বর্ণনা করে।

অ্যান্ড্রয়েড স্টুডিও থেকে চলাকালীন জুনিট ক্লাসপথে অনুপস্থিত সংস্থানগুলি পরীক্ষা করে

আপনার জাভা মডিউলগুলিতে যদি নির্দিষ্ট সংস্থান ফোল্ডার থাকে তবে আইডিই থেকে পরীক্ষা চালানোর সময় সেই সংস্থানগুলি পাওয়া যাবে না। কমান্ড লাইন থেকে গ্রেড ব্যবহার করে পরীক্ষা চালানো কাজ করবে। আইডিই থেকে গ্রেডল check টাস্ক কার্যকর করাও কাজ করবে। আরও তথ্যের জন্য 64887 ইস্যু দেখুন।

এই সমস্যাটি ঘটে কারণ ইন্টেলিজ 13 হিসাবে, যার জন্য আপনার কেবল ক্লাসপথ হিসাবে একটি একক ফোল্ডার রয়েছে। ইন্টেলিজের বিল্ডার সেই বিল্ড ফোল্ডারে সমস্ত সংস্থান অনুলিপি করে, তবে গ্রেডল সংস্থানগুলির উপর অনুলিপি করে না।

  • ওয়ার্কআরাউন্ড 1: ইউনিট পরীক্ষা চালানোর পরিবর্তে আইডিই থেকে গ্রেডল check টাস্কটি চালান।
  • ওয়ার্কআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআউট আরও তথ্যের জন্য মন্তব্য #13 দেখুন।

জুনিত পরীক্ষা চালানো কোডটি দু'বার সংকলন করতে পারে

একটি নতুন প্রকল্প তৈরি করার সময়, টেমপ্লেট জুনিট কনফিগারেশন দুটি "লঞ্চের আগে" পদক্ষেপগুলি দিয়ে তৈরি করা যেতে পারে: মেক এবং গ্রেড-অ্যাওয়ার মেক। এই কনফিগারেশনটি তখন সমস্ত তৈরি জুনিত রান কনফিগারেশনে প্রচারিত হয়।

  • বর্তমান প্রকল্পের জন্য সমস্যাটি সমাধান করতে, রান> সম্পাদনা কনফিগারেশনগুলি ক্লিক করুন এবং কেবল গ্রেডল-সচেতন মেক পদক্ষেপ অন্তর্ভুক্ত করার জন্য ডিফল্ট জুনিট কনফিগারেশন পরিবর্তন করুন।
  • ভবিষ্যতের সমস্ত প্রকল্পের জন্য সমস্যাটি সমাধান করতে, ফাইল> ক্লোজ প্রকল্পটি ক্লিক করুন। আপনার স্বাগত স্ক্রিনটি দেখতে হবে। তারপরে কনফিগার> প্রকল্প ডিফল্টগুলি> কনফিগারেশনগুলি চালান এবং কেবল গ্রেডল-সচেতন মেক পদক্ষেপ অন্তর্ভুক্ত করতে জুনিট কনফিগারেশন পরিবর্তন করুন।

কিছু পরীক্ষার রান কনফিগারেশন কাজ করে না

কোনও পরীক্ষার পদ্ধতিটি ডান-ক্লিক করার সময় উপলব্ধ সমস্ত রান কনফিগারেশনগুলি বৈধ নয়। বিশেষত, নিম্নলিখিত কনফিগারেশনগুলি বৈধ নয়:

  • গ্রেডল রান কনফিগারেশন (যা আইকন হিসাবে গ্রেডল লোগো রয়েছে) কাজ করে না।
  • জুনিট রান কনফিগারেশন (যা সবুজ অ্যান্ড্রয়েড ছাড়াই আইকন রয়েছে) ইনস্ট্রুমেন্টেশন পরীক্ষায় প্রয়োগ হয় না, যা স্থানীয় জেভিএম -এ চালানো যায় না।
অ্যান্ড্রয়েড স্টুডিও একটি প্রদত্ত প্রসঙ্গে তৈরি রান কনফিগারেশনটিও স্মরণ করে (উদাহরণস্বরূপ, একটি নির্দিষ্ট শ্রেণি বা পদ্ধতির ডান-ক্লিক করা), এবং ভবিষ্যতে অন্য কোনও কনফিগারেশন চালানোর প্রস্তাব দেবে না। এটি ঠিক করতে, রান> কনফিগারেশনগুলি সম্পাদনা করুন ক্লিক করুন এবং ভুলভাবে তৈরি কনফিগারেশনগুলি সরান।

নেটিভ কোডটি ডিবাগ করার সময় জাভা ব্রেকপয়েন্টগুলি যুক্ত করা হচ্ছে

আপনার অ্যাপটি আপনার নেটিভ কোডের একটি ব্রেকপয়েন্টে বিরতি দেওয়া হলেও, অটো এবং দ্বৈত ডিবাগারগুলি আপনি যে নতুন জাভা ব্রেকপয়েন্টগুলি সেট করেছেন তা তাত্ক্ষণিকভাবে চিনতে পারে না। এই সমস্যাটি এড়াতে, ডিবাগ সেশন শুরু করার আগে জাভা ব্রেকপয়েন্টগুলি যুক্ত করুন বা অ্যাপ্লিকেশনটি জাভা ব্রেকপয়েন্টে বিরতি দেওয়ার সময়। আরও তথ্যের জন্য, 229949 সংখ্যাটি দেখুন।

নেটিভ ডিবাগার থেকে বেরিয়ে আসছে

জাভা এবং নেটিভ কোডটি ডিবাগ করার জন্য অটো বা ডুয়াল ডিবাগারটি ব্যবহার করার সময়, আপনি যদি আপনার জাভা কোড থেকে কোনও নেটিভ ফাংশনে পদক্ষেপ নেন (উদাহরণস্বরূপ, ডিবাগারটি আপনার জাভা কোডের একটি লাইনে কার্যকরকরণকে বিরতি দেয় যা একটি স্থানীয় ফাংশন বলে এবং আপনি পদক্ষেপে ক্লিক করেন এবং আপনি পদক্ষেপে ক্লিক করেন ) এবং আপনি আপনার জাভা কোডে ফিরে আসতে চান, পুনরায় শুরু প্রোগ্রাম ক্লিক করুন (পরিবর্তে পদক্ষেপ বা পদক্ষেপ) আপনার অ্যাপ্লিকেশন প্রক্রিয়াটি এখনও বিরতি দেওয়া হবে, তাই পুনরায় শুরু প্রোগ্রাম ক্লিক করুন এটি পুনরায় শুরু করার জন্য your-module -জাভা ট্যাবে। আরও তথ্যের জন্য, 224385 সংখ্যাটি দেখুন।

লাইব্রেরি লোড করার সময় নেটিভ ডিবাগার ঝুলন্ত

অ্যান্ড্রয়েড স্টুডিও 4.2 এবং উচ্চতর আপগ্রেড করার পরে প্রথমবারের মতো নেটিভ ডিবাগারটি ব্যবহার করার সময়, অ্যান্ড্রয়েড ডিভাইস থেকে লাইব্রেরি লোড করার সময় নেটিভ ডিবাগার প্রতিক্রিয়া বন্ধ করতে পারে। এই সমস্যাটি একটি আঠালো সমস্যা যা আপনি ডিবাগারটি থামিয়ে এবং পুনরায় চালু করলেও ঘটতে থাকে। এই সমস্যাটি সমাধান করতে, $USER/.lldb/module-cache/ এ এলএলডিবি ক্যাশে মুছুন।

নেটিভ ডিবাগার ক্র্যাশগুলি "ডিবাগার প্রক্রিয়াটি প্রস্থান কোড 127 দিয়ে শেষ হয়েছে" দিয়ে ক্র্যাশ করে

নেটিভ ডিবাগার শুরু করার সময় এই ত্রুটিটি লিনাক্স-ভিত্তিক প্ল্যাটফর্মগুলিতে ঘটে। এটি ইঙ্গিত দেয় যে নেটিভ ডিবাগার দ্বারা প্রয়োজনীয় একটি লাইব্রেরি স্থানীয় সিস্টেমে ইনস্টল করা হয় না। অনুপস্থিত লাইব্রেরির নামটি ইতিমধ্যে idea.log ফাইলে মুদ্রিত হতে পারে। যদি তা না হয় তবে আপনি অ্যান্ড্রয়েড স্টুডিও ইনস্টলেশন ডিরেক্টরিতে নেভিগেট করতে একটি টার্মিনাল ব্যবহার করতে পারেন এবং কোন লাইব্রেরিগুলি অনুপস্থিত তা শিখতে bin/lldb/bin/LLDBFrontend --version কমান্ড লাইনটি কার্যকর করতে পারেন। সাধারণত, নিখোঁজ গ্রন্থাগারটি ncurses5 হয় কারণ সাম্প্রতিক কিছু লিনাক্স বিতরণ ইতিমধ্যে ncurses6 এ উন্নীত হয়েছে।

প্রোফাইলার

এই বিভাগটি প্রোফাইলারদের সাথে পরিচিত বিষয়গুলি বর্ণনা করে।

নেটিভ মেমরি প্রোফাইলার: অ্যাপ্লিকেশন স্টার্টআপের সময় প্রোফাইলিং উপলভ্য নয়

নেটিভ মেমরি প্রোফাইলার বর্তমানে অ্যাপ স্টার্টআপের সময় অনুপলব্ধ। এই বিকল্পটি একটি আসন্ন প্রকাশে উপলব্ধ হবে।

একটি কার্যকারিতা হিসাবে, আপনি স্টার্টআপ প্রোফাইলগুলি ক্যাপচার করতে পারফেটো স্ট্যান্ডেলোন কমান্ড-লাইন প্রোফাইলার ব্যবহার করতে পারেন।

সিপিইউ প্রোফাইলারে সময়সীমা ত্রুটি

আপনি যখন নমুনা জাভা পদ্ধতিগুলি নির্বাচন করেন বা জাভা পদ্ধতিগুলি কনফিগারেশনগুলি ট্রেস করেন তখন আপনি অ্যান্ড্রয়েড স্টুডিও সিপিইউ প্রোফাইলারে "রেকর্ডিং বন্ধ করতে ব্যর্থ হন" অভিজ্ঞতা অর্জন করতে পারেন। এগুলি প্রায়শই সময়সীমা ত্রুটি হয়, বিশেষত যদি আপনি idea.log ফাইলটিতে নিম্নলিখিত ত্রুটি বার্তাটি দেখতে পান:

Wait for ART trace file timed out

টাইমআউট ত্রুটিগুলি স্যাম্পলড পদ্ধতিগুলির চেয়ে ট্রেসড পদ্ধতিগুলি এবং সংক্ষিপ্ত রেকর্ডিংয়ের চেয়ে দীর্ঘতর রেকর্ডিংগুলিকে বেশি প্রভাবিত করে। অস্থায়ী কর্মক্ষেত্র হিসাবে, ত্রুটিটি অদৃশ্য হয়ে যায় কিনা তা দেখার জন্য সংক্ষিপ্ত রেকর্ডিংয়ের চেষ্টা করা সহায়ক হতে পারে।

আপনি যদি প্রোফাইলারের সাথে টাইমআউট সমস্যাগুলি অনুভব করেন তবে দয়া করে একটি বাগ ফাইল করুন যাতে আপনার ডিভাইস (গুলি) এর মেক/মডেল এবং idea.log এবং লগক্যাট থেকে কোনও প্রাসঙ্গিক এন্ট্রি অন্তর্ভুক্ত রয়েছে।

ডিবাগিং বা প্রোফাইলিং করার সময় এডিবি ব্যতিক্রম

প্ল্যাটফর্ম সরঞ্জামগুলি 29.0.3 ব্যবহার করার সময়, নেটিভ ডিবাগিং এবং অ্যান্ড্রয়েড স্টুডিও প্রোফাইলারগুলি সঠিকভাবে কাজ নাও করতে পারে এবং আপনি "অ্যাডবকম্যান্ড্রেজেক্ট এক্সসেপশন" বা "পোর্টকে সংযোগ করতে ব্যর্থ হন" idea.log ফাইলে আপনি দেখতে পাবেন যখন আপনি সহায়তা> লগ নির্বাচন করেন। প্ল্যাটফর্ম সরঞ্জামগুলি 29.0.4 এ আপগ্রেড করা বা উভয় বিষয় উচ্চতর সংশোধন করে।

প্ল্যাটফর্ম সরঞ্জামগুলি আপগ্রেড করতে, নিম্নলিখিতগুলি করুন:

  1. সরঞ্জাম> এসডিকে ম্যানেজার ক্লিক করে অ্যান্ড্রয়েড স্টুডিও থেকে এসডিকে ম্যানেজারটি খুলুন বা এসডিকে ম্যানেজার ক্লিক করুন টুলবারে
  2. অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম-সরঞ্জামগুলির পাশের চেকবক্সটি ক্লিক করুন যাতে এটি একটি চেকমার্ক দেখায়। একটি ডাউনলোড আইকন বাম কলামে উপস্থিত হওয়া উচিত।
  3. প্রয়োগ বা ঠিক আছে ক্লিক করুন।

প্লাগইন বিল্ড আউটপুট উইন্ডো কাজ থেকে বাধা দেয়

সিএমকে সিম্পল হাইলাইটার প্লাগইন ব্যবহার করে বিল্ড আউটপুট উইন্ডোতে উপস্থিত থাকতে সামগ্রীকে বাধা দেয়। বিল্ডটি রান করে এবং বিল্ড আউটপুট ট্যাব প্রদর্শিত হবে, তবে কোনও আউটপুট মুদ্রিত নেই ( ইস্যু #204791544 )।

ইনস্টলেশন অর্ডার লঞ্চ প্রতিরোধ করে

কোনও পুরানো সংস্করণের আগে অ্যান্ড্রয়েড স্টুডিওর একটি নতুন সংস্করণ ইনস্টল করা পুরানো সংস্করণটি চালু হতে বাধা দিতে পারে। উদাহরণস্বরূপ, আপনি যদি প্রথমে অ্যান্ড্রয়েড স্টুডিওর ক্যানারি সংস্করণটি ইনস্টল করেন এবং তারপরে স্থিতিশীল সংস্করণটি ইনস্টল এবং চালু করার চেষ্টা করেন তবে স্থিতিশীল সংস্করণটি চালু নাও হতে পারে। এই জাতীয় ক্ষেত্রে, আপনাকে অবশ্যই স্থিতিশীল (পুরানো) সংস্করণটি চালু করতে ক্যাশে সাফ করতে হবে। ম্যাকোসে, ক্যাশে সাফ করার জন্য Library/ApplicationSupport/Google/AndroidStudio version_number ডিরেক্টরিটি মুছুন। উইন্ডোতে, ক্যাশে পরিষ্কার করতে ডিস্ক ক্লিনআপ ব্যবহার করুন।

এস্প্রেসো টেস্ট রেকর্ডার রচনা দিয়ে কাজ করে না

এস্প্রেসো টেস্ট রেকর্ডার রচনা অন্তর্ভুক্ত প্রকল্পগুলির সাথে কাজ করে না। রচনাগুলি অন্তর্ভুক্ত প্রকল্পগুলির জন্য ইউআই পরীক্ষা তৈরি করতে, আপনার রচনা বিন্যাসটি পরীক্ষা করে দেখুন।

লগক্যাট শর্টকাট অ-ইংরাজী কীবোর্ড লেআউটগুলির সাথে দ্বন্দ্ব

আপনি যদি কোনও ইংরাজী কীবোর্ড লেআউট ব্যবহার করছেন তবে একটি ডিফল্ট লগক্যাট কীবোর্ড শর্টকাট লেআউটটির সাথে বিরোধ করতে পারে এবং অ্যান্ড্রয়েড স্টুডিওতে পাঠ্য সম্পাদনা করার সময় আপনাকে নির্দিষ্ট অক্ষর টাইপ করতে বাধা দিতে পারে। এই সমস্যাটি ঘিরে কাজ করতে, বিবাদী লগক্যাট কীম্যাপটি মুছুন বা পুনরায় ম্যাপ করুন। অ্যান্ড্রয়েড স্টুডিওতে লগক্যাট কীম্যাপগুলি সম্পাদনা করতে, অ্যান্ড্রয়েড স্টুডিও> সেটিংস> কীম্যাপে যান এবং কীম্যাপগুলির তালিকায় Logcat অনুসন্ধান করুন। আরও তথ্যের জন্য, #263475910 সংখ্যাটি দেখুন।

অ্যান্ড্রয়েড স্টুডিও বৈদ্যুতিন ইল প্যাচ 1 এ লগক্যাট শর্টকাট অপসারণের মাধ্যমে এই সমস্যাটি সমাধান করা হবে।

অ্যান্ড্রয়েড গ্রেডল প্লাগইন সহ পরিচিত বিষয়গুলি

এই বিভাগটি অ্যান্ড্রয়েড গ্রেডল প্লাগইনের সর্বশেষতম স্থিতিশীল সংস্করণে বিদ্যমান জ্ঞাত বিষয়গুলি বর্ণনা করে।

সমস্ত গতিশীল-বৈশিষ্ট্য গ্রন্থাগার নির্ভরতা লিন্ট চেক করা হয় না

checkDependencies = true , গতিশীল-বৈশিষ্ট্য গ্রন্থাগার নির্ভরতাগুলি অ্যাপ্লিকেশন নির্ভরতা না থাকলেও চেক করা হয় না ( ইস্যু #191977888 )। একটি কার্যকারিতা হিসাবে, লিন্ট টাস্কটি সেই গ্রন্থাগারগুলিতে চালানো যেতে পারে।

ক্যারেজ রিটার্ন চরিত্রগুলির সাথে নামযুক্ত ফাইল সাইন ইন

জার সাইনিং (ভি 1 স্কিম) ক্যারেজ রিটার্ন অক্ষরযুক্ত ফাইলের নাম সমর্থন করে না ( ইস্যু #63885809 )।

বিল্ড টাইমে বৈকল্পিক আউটপুটগুলি সংশোধন করা কাজ নাও করতে পারে

বৈকল্পিক আউটপুটগুলি ম্যানিপুলেট করতে বৈকল্পিক এপিআই ব্যবহার করে নতুন প্লাগইন দিয়ে ভেঙে গেছে। এটি এখনও সাধারণ কাজের জন্য কাজ করে, যেমন বিল্ড টাইমের সময় এপিকে নাম পরিবর্তন করা, যেমন নীচে দেখানো হয়েছে:

// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

তবে, outputFile অবজেক্টগুলিতে অ্যাক্সেসের সাথে জড়িত আরও জটিল কাজগুলি আর কাজ করে না। কারণ কনফিগারেশন পর্যায়ে বৈকল্পিক-নির্দিষ্ট কাজগুলি আর তৈরি করা হয় না। এটি প্লাগইনটিতে এর সমস্ত আউটপুটগুলি সামনের দিকে না জেনে ফলাফল দেয় তবে এর অর্থ দ্রুত কনফিগারেশন সময়গুলিও।

ম্যানিফেস্টআউটপুটফাইল আর উপলভ্য নয়

processManifest.manifestOutputFile() পদ্ধতিটি আর উপলভ্য নয় এবং আপনি যখন এটি কল করবেন তখন আপনি নিম্নলিখিত ত্রুটিটি পাবেন:

A problem occurred configuring project ':myapp'.
   Could not get unknown property 'manifestOutputFile' for task
   ':myapp:processDebugManifest' of type
   com.android.build.gradle.tasks.ProcessManifest.

প্রতিটি বৈকল্পের জন্য manifestOutputFile() কল করার পরিবর্তে, আপনি processManifest.manifestOutputDirectory() কল করতে পারেন ডিরেক্টরিটির পথটি ফিরিয়ে দিতে যা সমস্ত উত্পন্ন ম্যানিফেস্ট রয়েছে। তারপরে আপনি একটি ম্যানিফেস্ট সনাক্ত করতে পারেন এবং এতে আপনার যুক্তিটি প্রয়োগ করতে পারেন। নীচের নমুনা গতিশীলভাবে ম্যানিফেস্টে সংস্করণ কোড পরিবর্তন করে:

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        output.processManifest.doLast {
            // Stores the path to the maifest.
            String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
            // Stores the contents of the manifest.
            def manifestContent = file(manifestPath).getText()
            // Changes the version code in the stored text.
            manifestContent = manifestContent.replace('android:versionCode="1"',
                    String.format('android:versionCode="%s"', generatedCode))
            // Overwrites the manifest with the new text.
            file(manifestPath).write(manifestContent)
        }
    }
}

এজিপি 7.3.0 এইডল সমর্থন এবং কোটলিন 1.7.x এর সাথে সমস্যাগুলি

কোটলিন 1.7.x এ ক্যাপের সাথে এজিপি 7.3.0 ব্যবহার করে নির্দিষ্ট বিল্ড ভেরিয়েন্টগুলি অপসারণের জন্য এইডএল উত্স সেটগুলি সরিয়ে দেয়। আপনি এখনও main/ , বিল্ড প্রকার, পণ্যের স্বাদ এবং পণ্যের স্বাদের সংমিশ্রণ সহ অন্যান্য এইডএল উত্স সেটগুলি ব্যবহার করতে পারেন। আপনার যদি বৈকল্পিক-নির্দিষ্ট এইডেল উত্স সেটগুলি ব্যবহার করতে হয় তবে কোটলিন 1.6.21 ব্যবহার চালিয়ে যান।

স্থির জ্ঞাত সমস্যা

এই বিভাগটি সাম্প্রতিক রিলিজে নির্ধারিত জ্ঞাত বিষয়গুলি বর্ণনা করে। আপনি যদি এই কোনও সমস্যা অনুভব করছেন তবে আপনার সর্বশেষতম স্থিতিশীল বা পূর্বরূপ সংস্করণে অ্যান্ড্রয়েড স্টুডিও আপডেট করা উচিত।

অ্যান্ড্রয়েড স্টুডিও 2021.1.1 এ স্থির

  • অনুপস্থিত লিন্ট আউটপুট : লিন্ট টাস্কটি UP-TO-DATE হওয়ার সময় stdout কোনও লিন্ট পাঠ্য আউটপুট মুদ্রিত নেই ( ইস্যু #191897708 )। Agp 7.1.0-Alpha05 এ স্থির।
  • ইউনিট টেস্টিংয়ের সমস্যাগুলি একটি অ্যাপ্লিকেশন প্রকল্প যা হিল্ট প্লাগইন ব্যবহার করে : ইউনিট টেস্ট ক্লাসপ্যাথটিতে অ-সঞ্চারিত অ্যাপ্লিকেশন ক্লাস রয়েছে, যার অর্থ হিল্ট ইউনিট পরীক্ষা চালানোর সময় নির্ভরতা ইনজেকশন পরিচালনা করতে অ্যাপ্লিকেশন ক্লাসগুলিকে উপকরণ দেয় না ( ইস্যু #213534628 )। Agp 7.1.1 এ স্থির।

অ্যান্ড্রয়েড স্টুডিও 2020.3.1 এ স্থির

  • কোটলিন প্রকল্পগুলিতে লিন্ট ব্যতিক্রম: কোটলিন প্রকল্পগুলি যা checkDependencies = true হতে পারে নাল পয়েন্টার ব্যতিক্রম বা ত্রুটিগুলি ( ইস্যু #158777858 )।

অ্যান্ড্রয়েড স্টুডিও 4.2 এ স্থির

  • আইডিই ম্যাকোস বিগ সুরে হিমশীতল: অ্যান্ড্রয়েড স্টুডিও 4.1 আপনি যখন ডায়ালগটি খোলেন তখন হিমশীতল হতে পারে।

অ্যান্ড্রয়েড স্টুডিও 4.1 এ স্থির

  • আইডিইর পূর্ববর্তী সংস্করণ থেকে মেমরি সেটিংস প্রয়োগ করতে পুনরায় চালু করুন: অ্যান্ড্রয়েড স্টুডিও আপডেট করার পরে, আইডিইর পূর্ববর্তী সংস্করণ থেকে স্থানান্তরিত যে কোনও মেমরি সেটিংস প্রয়োগ করতে আপনাকে অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করতে হবে।
  • কাস্টম অনুমতি স্ট্রিং সহ ম্যানিফেস্ট ক্লাসটি আর ডিফল্টরূপে উত্পাদিত হয় না: আপনি যদি ক্লাস তৈরি করতে চান তবে android.generateManifestClass = true

অ্যান্ড্রয়েড স্টুডিও 3.6 এ স্থির

  • লাইনজিওএসে এপিকে ইনস্টলেশন ত্রুটি : আপনার অ্যাপ্লিকেশনগুলিকে লাইনজিও বা সায়ানোজেনমডের নির্দিষ্ট সংস্করণগুলি চালানো ডিভাইসে মোতায়েন করা ব্যর্থ হতে পারে এবং একটি INSTALL_PARSE_FAILED_NOT_APK ব্যতিক্রম নিক্ষেপ করতে পারে।

    অ্যান্ড্রয়েড স্টুডিও 3.6 বিটা 1 এবং উচ্চতর, আইডিই আপনি যখন আপনার অ্যাপটি লাইনজিও বা সায়ানোজেনমড ডিভাইসে স্থাপন করবেন তখন একটি সম্পূর্ণ অ্যাপ ইনস্টল করে এই ব্যতিক্রমটি পরিচালনা করে, যার ফলে দীর্ঘতর মোতায়েন হতে পারে।

অ্যান্ড্রয়েড স্টুডিও 3.5.2 এ স্থির

  • ভাঙা এক্সএমএল কোড স্টাইল : এক্সএমএল কোড সম্পাদনা করার সময়, আপনি যখন মেনু বার থেকে কোড> রিফর্ম্যাট কোড নির্বাচন করেন তখন আইডিই একটি ভুল কোড স্টাইল প্রয়োগ করে।

অ্যান্ড্রয়েড স্টুডিওতে স্থির 3.3.1

  • মেমরির ত্রুটিগুলির বাইরে সি ++-ভিত্তিক প্রকল্পগুলি স্ক্যান করার সময় : গ্রেড যখন একই ড্রাইভে একাধিক স্থানে সি ++ কোড রয়েছে এমন একটি প্রকল্প স্ক্যান করে, স্ক্যানটিতে প্রথম সাধারণ ডিরেক্টরিগুলির নীচে সমস্ত ডিরেক্টরি অন্তর্ভুক্ত থাকে। বিপুল সংখ্যক ডিরেক্টরি এবং ফাইলগুলি স্ক্যান করা মেমরির ত্রুটির বাইরে যেতে পারে।

    এই ইস্যুতে আরও তথ্যের জন্য, সমস্যার সাথে সম্পর্কিত বাগটি পড়ুন।