এই পৃষ্ঠাটি Android Studio Meerkat এবং Android Gradle প্লাগইন 8.9.0 এর সাথে পরিচিত সমস্যাগুলি ট্র্যাক করে৷ আপনি যদি এমন একটি সমস্যা অনুভব করেন যা ইতিমধ্যেই এখানে অন্তর্ভুক্ত করা হয়নি, দয়া করে একটি বাগ রিপোর্ট করুন ৷
প্রিভিউতে আপগ্রেড করুন: অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন-এর প্রতিটি রিলিজের লক্ষ্য স্থায়িত্ব এবং কর্মক্ষমতা উন্নত করা এবং নতুন বৈশিষ্ট্য যোগ করা। এখনই আসন্ন রিলিজের সুবিধাগুলি উপভোগ করতে, অ্যান্ড্রয়েড স্টুডিও প্রিভিউ ডাউনলোড এবং ইনস্টল করুন।
অ্যান্ড্রয়েড স্টুডিওর সাথে পরিচিত সমস্যা
এই বিভাগে Android স্টুডিওর সর্বশেষ স্থিতিশীল সংস্করণে বিদ্যমান পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।
"লঞ্চের আগে" ছাড়াই কনফিগারেশন চালান গ্রেডল-সচেতন মেক ডিপ্লয়মেন্ট ত্রুটির দিকে নিয়ে যায়
অ্যান্ড্রয়েড স্টুডিও লেডিবাগ ফিচার ড্রপ ক্যানারি 9-এ একটি সমস্যা ছিল যা সেই সংস্করণের সাথে খোলা প্রকল্পগুলি থেকে রান কনফিগারেশন তথ্য সরিয়ে দিয়েছে। আপনি যদি কোনও সময়ে সেই সংস্করণের সাথে আপনার প্রকল্পটি খোলেন এবং আপনার অ্যাপটি "লোডিং বিল্ড আর্টিফ্যাক্টস" ত্রুটিতে ফলাফল চালান, তাহলে যাচাই করুন যে সক্রিয় রান কনফিগারেশনে "লঞ্চের আগে" বিভাগে "গ্রেডল-সচেতন মেক" ধাপ রয়েছে। এটি যাচাই করতে Run/Debug Configurations > Edit Configurations এ ক্লিক করুন, সক্রিয় রান কনফিগারেশনে ক্লিক করুন এবং নিশ্চিত করুন যে "লঞ্চের আগে" বিভাগে একটি "Gradle-ware Make" ধাপ রয়েছে। দুর্ভাগ্যবশত অ্যান্ড্রয়েড স্টুডিও এই সমস্যাটি স্বয়ংক্রিয়ভাবে সমাধান করতে পারে না কারণ কিছু রান কনফিগারেশন ইচ্ছাকৃতভাবে "Gradle-ware Make" পদক্ষেপ ছাড়াই সেট আপ করা হতে পারে।
'পরিবর্তন প্রয়োগ করুন এবং কার্যকলাপ পুনরায় চালু করুন' 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-poolingcontainer
এ debugImplementation
নির্ভরতা।
কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড ব্যবহার করার সময় ত্রুটি
সংস্করণ 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-এ, আগের রিলিজের তুলনায় পাঠ্য অনেক ছোট দেখা যেতে পারে। এই সমস্যাটি সমাধান করতে, নিম্নলিখিতগুলি করুন:
- ফাইল > সেটিংসে ক্লিক করে সেটিংস উইন্ডো খুলুন
- চেহারা এবং আচরণ > উপস্থিতিতে নেভিগেট করুন।
- কাস্টম ফন্ট ব্যবহার করুন নির্বাচন করুন।
- ফন্ট সাইজ বাড়ান।
- সেটিংস উইন্ডোতে, এডিটর > ফন্টে নেভিগেট করুন।
- ফন্ট সাইজ বাড়ান।
- ওকে ক্লিক করুন।
কোড এডিটিং
এই বিভাগে কোড এডিটর সম্পর্কিত পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।
হিমায়িত কীবোর্ড ইনপুট - লিনাক্সে "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-এর আরও জড়িত প্রক্রিয়া রয়েছে। আপনাকে ম্যানুয়ালি কার্নেল এক্সটেনশনকে নিম্নলিখিতভাবে ইনস্টল করার অনুমতি দিতে হবে:
- প্রথমে, SDK ম্যানেজার থেকে HAXM-এর সর্বশেষ সংস্করণ ইনস্টল করার চেষ্টা করুন৷
- MacOS-এ, সিস্টেম পছন্দসমূহ > নিরাপত্তা এবং গোপনীয়তায় যান।
আপনি যদি একটি সতর্কতা দেখেন যে বিকাশকারী "ইন্টেল কর্পোরেশন অ্যাপস" এর সিস্টেম সফ্টওয়্যারটি লোড হওয়া থেকে ব্লক করা হয়েছে , অনুমতি দিন ক্লিক করুন:
আরও তথ্য এবং সমাধানের জন্য, অ্যাপলের এই ওয়েবপেজটি দেখুন এবং 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 বা উচ্চতর তে আপগ্রেড করা উভয় সমস্যার সমাধান করে।
প্ল্যাটফর্ম টুল আপগ্রেড করতে, নিম্নলিখিতগুলি করুন:
- টুলস > SDK ম্যানেজার বা SDK ম্যানেজার- এ ক্লিক করে Android স্টুডিও থেকে SDK ম্যানেজার খুলুন
টুলবারে
- Android SDK Platform-Tools- এর পাশের চেকবক্সে ক্লিক করুন যাতে এটি একটি চেকমার্ক দেখায়। একটি ডাউনলোড আইকন
বাম কলামে উপস্থিত হওয়া উচিত।
- প্রয়োগ করুন বা ঠিক আছে ক্লিক করুন।
প্লাগইন বিল্ড আউটপুট উইন্ডোকে কাজ করা থেকে বাধা দেয়
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 Meerkat এবং Android Gradle প্লাগইন 8.9.0 এর সাথে পরিচিত সমস্যাগুলি ট্র্যাক করে৷ আপনি যদি এমন একটি সমস্যা অনুভব করেন যা ইতিমধ্যেই এখানে অন্তর্ভুক্ত করা হয়নি, দয়া করে একটি বাগ রিপোর্ট করুন ৷
প্রিভিউতে আপগ্রেড করুন: অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন-এর প্রতিটি রিলিজের লক্ষ্য স্থায়িত্ব এবং কর্মক্ষমতা উন্নত করা এবং নতুন বৈশিষ্ট্য যোগ করা। এখনই আসন্ন রিলিজের সুবিধাগুলি উপভোগ করতে, অ্যান্ড্রয়েড স্টুডিও প্রিভিউ ডাউনলোড এবং ইনস্টল করুন।
অ্যান্ড্রয়েড স্টুডিওর সাথে পরিচিত সমস্যা
এই বিভাগে Android স্টুডিওর সর্বশেষ স্থিতিশীল সংস্করণে বিদ্যমান পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।
"লঞ্চের আগে" ছাড়াই কনফিগারেশন চালান গ্রেডল-সচেতন মেক ডিপ্লয়মেন্ট ত্রুটির দিকে নিয়ে যায়
অ্যান্ড্রয়েড স্টুডিও লেডিবাগ ফিচার ড্রপ ক্যানারি 9-এ একটি সমস্যা ছিল যা সেই সংস্করণের সাথে খোলা প্রকল্পগুলি থেকে রান কনফিগারেশন তথ্য সরিয়ে দিয়েছে। আপনি যদি কোনও সময়ে সেই সংস্করণের সাথে আপনার প্রকল্পটি খোলেন এবং আপনার অ্যাপটি "লোডিং বিল্ড আর্টিফ্যাক্টস" ত্রুটিতে ফলাফল চালান, তাহলে যাচাই করুন যে সক্রিয় রান কনফিগারেশনে "লঞ্চের আগে" বিভাগে "গ্রেডল-সচেতন মেক" ধাপ রয়েছে। এটি যাচাই করতে Run/Debug Configurations > Edit Configurations এ ক্লিক করুন, সক্রিয় রান কনফিগারেশনে ক্লিক করুন এবং নিশ্চিত করুন যে "লঞ্চের আগে" বিভাগে একটি "Gradle-ware Make" ধাপ রয়েছে। দুর্ভাগ্যবশত অ্যান্ড্রয়েড স্টুডিও এই সমস্যাটি স্বয়ংক্রিয়ভাবে সমাধান করতে পারে না কারণ কিছু রান কনফিগারেশন ইচ্ছাকৃতভাবে "Gradle-ware Make" পদক্ষেপ ছাড়াই সেট আপ করা হতে পারে।
'পরিবর্তন প্রয়োগ করুন এবং কার্যকলাপ পুনরায় চালু করুন' 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-poolingcontainer
এ debugImplementation
নির্ভরতা।
কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড ব্যবহার করার সময় ত্রুটি
সংস্করণ 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
। উদাহরণস্বরূপ, অ্যান্ড্রয়েড স্টুডিও 4.1 ক্যানারি AndroidStudioPreview4.1
4.1 ব্যবহার করে AndroidStudio4.1
ডিরেক্টরি যা রিলিজ প্রার্থী এবং স্থিতিশীল রিলিজের জন্য ব্যবহৃত হয় তার পরিবর্তে ব্যবহার করে।
কোটলিন মাল্টিপ্ল্যাটফর্ম প্রকল্পগুলিতে সংকলন সমস্যা
অনুপস্থিত চিহ্নগুলির কারণে কোটলিন এমপিপি কোডে সংকলন ত্রুটি দেখা দিতে পারে। আপনার কোটলিন প্লাগইনটি সংস্করণ 1.4 এ আপগ্রেড করা এই সমস্যাটি সমাধান করা উচিত।
লিনাক্সে কী ম্যাপিং দ্বন্দ্ব
লিনাক্সে, নির্দিষ্ট কীবোর্ড শর্টকাটগুলি ডিফল্ট লিনাক্স কীবোর্ড শর্টকাট এবং জনপ্রিয় উইন্ডো পরিচালকদের যেমন কেডি এবং জিনোমের সাথে বিরোধ করে। এই বিরোধী কীবোর্ড শর্টকাটগুলি অ্যান্ড্রয়েড স্টুডিওতে প্রত্যাশার মতো কাজ করতে পারে না।
এই সমস্যা সম্পর্কে আরও তথ্য (সম্ভাব্য কার্যকারিতা সহ) ইন্টেলিজের বাগ ট্র্যাকারে পাওয়া যাবে।
ক্রোমোসে ছোট ইউআই পাঠ্য
ক্রোমোসে, পাঠ্য পূর্ববর্তী রিলিজের তুলনায় অনেক ছোট প্রদর্শিত হতে পারে। এই সমস্যাটি ঘিরে কাজ করার জন্য, নিম্নলিখিতগুলি করুন:
- ফাইল> সেটিংস ক্লিক করে সেটিংস উইন্ডোটি খুলুন
- উপস্থিতি এবং আচরণ> উপস্থিতি নেভিগেট করুন।
- কাস্টম ফন্ট ব্যবহার করুন নির্বাচন করুন।
- ফন্টের আকার বাড়ান।
- সেটিংস উইন্ডোতে, সম্পাদক> ফন্টে নেভিগেট করুন।
- ফন্টের আকার বাড়ান।
- ওকে ক্লিক করুন।
কোড এডিটিং
এই বিভাগটি কোড সম্পাদক সম্পর্কিত পরিচিত বিষয়গুলি বর্ণনা করে।
হিমায়িত কীবোর্ড ইনপুট - লিনাক্সে "আইবাস" সমস্যা
লিনাক্স এবং অ্যান্ড্রয়েড স্টুডিওতে আইবিইউএস ডেমনের মধ্যে কিছু পরিচিত মিথস্ক্রিয়া রয়েছে। কিছু পরিস্থিতিতে, আইডিই কীবোর্ড ইনপুটটিতে সাড়া দেওয়া বন্ধ করে দেয় বা এলোমেলো অক্ষরগুলি ইনপুট করা শুরু করে। এই বাগটি আইবিইউএস এবং এক্সলিব + এডাব্লুটি -র মধ্যে কিছু অনুপস্থিত সিঙ্ক্রোনাইজেশন দ্বারা ট্রিগার করা হয়েছে এবং ইতিমধ্যে জেটব্রেন এবং আইবিইউগুলিতে উজানের প্রতিবেদন করা হয়েছে। এই ইস্যুটির জন্য তিনটি বর্তমান কাজ রয়েছে:
- ওয়ার্কআরাউন্ড 1: আইবাসকে সিঙ্ক্রোনাস মোডে জোর করুন। অ্যান্ড্রয়েড স্টুডিও শুরু করার আগে, কমান্ড লাইনে নিম্নলিখিতগুলি চালান:
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
- ওয়ার্কআরাউন্ড 2: অ্যান্ড্রয়েড স্টুডিওতে আইবিইউএস ইনপুট অক্ষম করুন। কেবলমাত্র অ্যান্ড্রয়েড স্টুডিওর জন্য আইবিইউএস ইনপুট অক্ষম করতে, কমান্ড লাইনে নিম্নলিখিতগুলি চালান:
এই কাজের ক্ষেত্রটি কেবলমাত্র অ্যান্ড্রয়েড স্টুডিওর জন্য ইনপুট পদ্ধতিগুলি অক্ষম করে, আপনি চালাচ্ছেন এমন কোনও অ্যাপ্লিকেশন নয়। মনে রাখবেন যে অ্যান্ড্রয়েড স্টুডিও চলাকালীন আপনি যদি ডেমনটি পুনরায় চালু করেন (উদাহরণস্বরূপ,$ XMODIFIERS= ./bin/studio.sh
ibus-daemon -rd
চালিয়ে), আপনি অন্যান্য সমস্ত অ্যাপ্লিকেশনগুলির জন্য ইনপুট পদ্ধতিগুলি কার্যকরভাবে অক্ষম করেন এবং একটি বিভাগের ত্রুটিযুক্ত অ্যান্ড্রয়েড স্টুডিওর জেভিএমকে ক্র্যাশ করতে পারেন। - ওয়ার্কআরাউন্ড 3: পরবর্তী ইনপুট শর্টকাটটি +স্থান নিয়ন্ত্রণ করতে সেট করা নেই তা নিশ্চিত করার জন্য শর্টকাট বাইন্ডিংগুলি ডাবল-চেক করুন, কারণ এটি অ্যান্ড্রয়েড স্টুডিওতে কোড সমাপ্তির শর্টকাটও। উবুন্টু 14.04 (বিশ্বস্ত) সুপার+স্পেসকে ডিফল্ট শর্টকাট তৈরি করে, তবে পূর্ববর্তী সংস্করণগুলির সেটিংস এখনও কাছাকাছি থাকতে পারে। আপনার শর্টকাট বাইন্ডিংগুলি পরীক্ষা করতে, আইবিইউএস পছন্দগুলি উইন্ডোটি খোলার জন্য কমান্ড লাইনে
ibus-setup
চালান। কীবোর্ড শর্টকাটগুলির অধীনে, পরবর্তী ইনপুট পদ্ধতিটি পরীক্ষা করুন। যদি এটি+স্থান নিয়ন্ত্রণ করতে সেট করা থাকে তবে এটিকে সুপার+স্পেস বা আপনার পছন্দের অন্য কোনও শর্টকাট পরিবর্তন করুন।
প্রকল্প কনফিগারেশন
এই বিভাগটি প্রকল্প কনফিগারেশন এবং গ্রেডল সিঙ্ক সম্পর্কিত পরিচিত বিষয়গুলি বর্ণনা করে।
গ্রেডল সিঙ্ক ব্যর্থ: ভাঙা পাইপ
সমস্যাটি হ'ল গ্রেডল ডেমন আইপিভি 6 এর পরিবর্তে আইপিভি 4 ব্যবহার করার চেষ্টা করছে।
- কার্যকারণ 1: লিনাক্সে, আপনার
~/.profile
বা~/.bash_profile
এ নিম্নলিখিতগুলি রাখুন:export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
- ওয়ার্কআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআউট
-Djava.net.preferIPv4Addresses=true
-Djava.net.preferIPv6Addresses=true
গ্রেড সিঙ্ক বা এসডিকে ম্যানেজার থেকে "পিয়ার প্রমাণিত নয়" ত্রুটি
এই ত্রুটিগুলির মূল কারণ হ'ল $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 এর এইচএএক্সএমের মতো কার্নেল এক্সটেনশনগুলি ইনস্টল করার জন্য আরও জড়িত প্রক্রিয়া রয়েছে। আপনাকে ম্যানুয়ালি কার্নেল এক্সটেনশনটি নিজেই নীচে ইনস্টল করার অনুমতি দিতে হবে:
- প্রথমে এসডিকে ম্যানেজারের কাছ থেকে এইচএএক্সএমের সর্বশেষ সংস্করণ ইনস্টল করার চেষ্টা করুন।
- ম্যাকোসে, সিস্টেমের পছন্দসমূহ> সুরক্ষা এবং গোপনীয়তায় যান।
আপনি যদি কোনও সতর্কতা দেখতে পান যে বিকাশকারী "ইন্টেল কর্পোরেশন অ্যাপ্লিকেশনগুলি" থেকে সিস্টেম সফ্টওয়্যারটি লোডিং থেকে অবরুদ্ধ ছিল , তবে ক্লিক করুন: ক্লিক করুন :
আরও তথ্য এবং কাজের জন্য, এই অ্যাপল ওয়েবপৃষ্ঠাটি দেখুন এবং 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 এ আপগ্রেড করা বা উভয় বিষয় উচ্চতর সংশোধন করে।
প্ল্যাটফর্ম সরঞ্জামগুলি আপগ্রেড করতে, নিম্নলিখিতগুলি করুন:
- সরঞ্জাম> এসডিকে ম্যানেজার ক্লিক করে অ্যান্ড্রয়েড স্টুডিও থেকে এসডিকে ম্যানেজারটি খুলুন বা এসডিকে ম্যানেজার ক্লিক করুন
টুলবারে
- অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম-সরঞ্জামগুলির পাশের চেকবক্সটি ক্লিক করুন যাতে এটি একটি চেকমার্ক দেখায়। একটি ডাউনলোড আইকন
বাম কলামে উপস্থিত হওয়া উচিত।
- প্রয়োগ করুন বা ঠিক আছে ক্লিক করুন।
প্লাগইন বিল্ড আউটপুট উইন্ডো কাজ থেকে বাধা দেয়
সিএমকে সিম্পল হাইলাইটার প্লাগইন ব্যবহার করে বিল্ড আউটপুট উইন্ডোতে উপস্থিত থাকতে সামগ্রীকে বাধা দেয়। বিল্ডটি রান করে এবং বিল্ড আউটপুট ট্যাব প্রদর্শিত হবে, তবে কোনও আউটপুট মুদ্রিত নেই ( ইস্যু #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
মেমরির ত্রুটিগুলির বাইরে সি ++-ভিত্তিক প্রকল্পগুলি স্ক্যান করার সময় : গ্রেড যখন একই ড্রাইভে একাধিক স্থানে সি ++ কোড রয়েছে এমন একটি প্রকল্প স্ক্যান করে, স্ক্যানটিতে প্রথম সাধারণ ডিরেক্টরিগুলির নীচে সমস্ত ডিরেক্টরি অন্তর্ভুক্ত থাকে। বিপুল সংখ্যক ডিরেক্টরি এবং ফাইলগুলি স্ক্যান করা মেমরির ত্রুটির বাইরে যেতে পারে।
এই ইস্যুতে আরও তথ্যের জন্য, সমস্যার সাথে সম্পর্কিত বাগটি পড়ুন।
এই পৃষ্ঠাটি অ্যান্ড্রয়েড স্টুডিও মিরকাট এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.9.0 এর সাথে পরিচিত সমস্যাগুলি ট্র্যাক করে। আপনি যদি ইতিমধ্যে অন্তর্ভুক্ত না কোনও সমস্যা অনুভব করেন তবে দয়া করে একটি বাগের প্রতিবেদন করুন ।
পূর্বরূপে আপগ্রেড করুন: অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইনের প্রতিটি প্রকাশের লক্ষ্য স্থায়িত্ব এবং কার্যকারিতা উন্নত করা এবং নতুন বৈশিষ্ট্য যুক্ত করা। এখনই আসন্ন প্রকাশের সুবিধাগুলি অনুভব করতে, অ্যান্ড্রয়েড স্টুডিও পূর্বরূপ ডাউনলোড এবং ইনস্টল করুন।
অ্যান্ড্রয়েড স্টুডিওর সাথে পরিচিত বিষয়গুলি
এই বিভাগটি অ্যান্ড্রয়েড স্টুডিওর সর্বশেষতম স্থিতিশীল সংস্করণে বিদ্যমান জ্ঞাত বিষয়গুলি বর্ণনা করে।
"লঞ্চের আগে" ছাড়াই কনফিগারেশন চালান গ্রেড-অ্যাওয়ার মেক মোতায়েনের ত্রুটির দিকে পরিচালিত করে
অ্যান্ড্রয়েড স্টুডিও লেডিবাগ ফিচার ড্রপ ক্যানারি 9 এ একটি সমস্যা ছিল যা সেই সংস্করণটির সাথে খোলা প্রকল্পগুলি থেকে কনফিগারেশন তথ্য সরিয়ে নিয়েছিল। আপনি যদি কোনও পর্যায়ে সেই সংস্করণটি দিয়ে আপনার প্রকল্পটি খোলেন এবং আপনার অ্যাপ্লিকেশনটি চালানোর ফলে "বিল্ড আর্টফ্যাক্টগুলি লোড করা" ত্রুটিতে ফলাফলটি চালানো হয় তবে যাচাই করুন যে সক্রিয় রান কনফিগারেশনে "গ্রেড-অ্যাওয়ার মেক" পদক্ষেপ রয়েছে "লঞ্চের আগে" বিভাগে পদক্ষেপ রয়েছে। এই ক্লিক করুন রান/ডিবাগ কনফিগারেশনগুলি> কনফিগারেশনগুলি সম্পাদনা করুন , সক্রিয় রান কনফিগারেশনটি ক্লিক করুন এবং নিশ্চিত করুন যে এখানে "গ্রেড-অ্যাওয়ার মেক" মেক "পদক্ষেপটি" লঞ্চের আগে "বিভাগে রয়েছে। দুর্ভাগ্যক্রমে অ্যান্ড্রয়েড স্টুডিও এই সমস্যাটি স্বয়ংক্রিয়ভাবে ঠিক করতে পারে না কারণ কিছু রান কনফিগারেশনগুলি "গ্রেড-অ্যাওয়ার মেক" পদক্ষেপ ছাড়াই ইচ্ছাকৃতভাবে সেট আপ করা হতে পারে।
'পরিবর্তনগুলি প্রয়োগ করুন এবং ক্রিয়াকলাপ পুনরায় চালু করুন' এপিআই স্তর 35 ডিভাইস বা এমুলেটরগুলিতে ক্রিয়াকলাপটি পুনরায় চালু করে না
আপনি যখন 'পরিবর্তনগুলি প্রয়োগ করুন এবং ক্রিয়াকলাপ পুনরায় চালু করুন' সহ কোনও এপিআই 35 ডিভাইসে কোড পরিবর্তনগুলি স্থাপন করেন, অ্যাপটি পুনরায় চালু করা হবে না এবং আপনি পরিবর্তনের প্রভাব দেখতে পাবেন না। আপনি যদি অ্যাপ্লিকেশনটি পুনরায় চালু করেন তবে আপনি কোড পরিবর্তনের প্রভাব দেখতে পাবেন। আমাদের দল সক্রিয়ভাবে এটি তদন্ত করছে।
ফায়ারবেস সহকারী উইন্ডো একটি ত্রুটি বার্তা প্রদর্শন করে
যদি ফায়ারবেস সহকারী উইন্ডো (মূল মেনু থেকে ফায়ারবেস) কোনও ত্রুটি বার্তা প্রদর্শন করে, তবে ত্রুটিটি সমাধান করার জন্য ক্যাশগুলি অকার্যকর করুন এবং অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন।
লেআউট ইন্সপেক্টর ব্যবহার করে কোনও ভিউ আলাদা করতে পারে না
এম্বেড থাকা লেআউট ইন্সপেক্টর ব্যবহার করে একটি ভিউ আলাদা করার ক্ষমতা অস্থায়ীভাবে অনুপলব্ধ। আমরা ভবিষ্যতের প্রকাশে এই সমস্যাটি ঠিক করার জন্য কাজ করছি।
লেআউট ইন্সপেক্টর ব্যবহার করে রচনা নোডগুলি সমস্ত পরিদর্শনযোগ্য নয়
আপনি যদি লক্ষ্য করেন যে আপনি যখন লেআউট ইন্সপেক্টর ব্যবহার করছেন তখন সমস্ত রচনা নোডগুলি পরিদর্শনযোগ্য নয়, সম্ভবত এটি এমন একটি বাগের কারণে যা কমপোজ সংস্করণ 1.5.0-ALPHA04 এ স্থির করা হয়েছে। আপনি যদি এই সমস্যাটি অনুভব করছেন তবে নিশ্চিত হয়ে নিন যে আপনি সংস্করণ 1.5.0-ALPHA04 বা উচ্চতর রচনা করতে আপগ্রেড করেছেন।
রেন্ডারিং যখন প্রাকদর্শন রচনা রেন্ডারিং
অ্যান্ড্রয়েড স্টুডিও চিপমঙ্ক দিয়ে শুরু করে, আপনি যদি java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner
বা জাভা.ল্যাং.ক্লাসনটফাউন্ড debugImplementation
java.lang.ClassNotFoundException: androidx.savedstate.R$id
ইস্যু প্যানেলে নিশ্চিত করুন, নিশ্চিত করুন, নিশ্চিত করুন 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
ইন আর্নডার করতে পারেননি অ্যান্ড্রয়েডএক্স.কাস্টমভিউয়ের কাছে debugImplementation
নির্ভরতা androidx.customview:customview-poolingcontainer
।
কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড ব্যবহার করার সময় ত্রুটি
৪.২ সংস্করণ দিয়ে শুরু করে, অ্যান্ড্রয়েড স্টুডিও এখন জেডিকে ১১ এ চলে This
আপনি যখন বিল্ডিং > স্বাক্ষরিত বান্ডিল / এপিকে তৈরি করতে নেভিগেট করেন এবং অ্যাপ্লিকেশন বান্ডিল বা একটি এপিকে জন্য অ্যাপ্লিকেশন স্বাক্ষর কনফিগার করার চেষ্টা করেন, কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড প্রবেশ করানো নিম্নলিখিত ত্রুটি হতে পারে:
Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores
এই সমস্যাটির চারপাশে কাজ করতে, কী এবং কীস্টোর উভয়ের জন্য একই পাসওয়ার্ড লিখুন।
অ্যান্ড্রয়েড স্টুডিও সংস্করণ 4.2 ইনস্টল করার পরে শুরু হয় না
স্টুডিও পূর্ববর্তী .vmoptions আমদানি করার চেষ্টা করে এবং জেডিকে 11 দ্বারা ব্যবহৃত আবর্জনা সংগ্রাহকের সাথে কাজ করার জন্য তাদের স্যানিটাইজ করে। যদি সেই প্রক্রিয়াটি ব্যর্থ হয় তবে আইডিই নির্দিষ্ট ব্যবহারকারীদের জন্য শুরু করতে পারে না যারা .vmoptions ফাইলে কাস্টম ভিএম বিকল্পগুলি সেট করে।
এই সমস্যাটির চারপাশে কাজ করার জন্য, আমরা .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)
এই সমস্যাটি সমাধান করতে, আপনার অ্যান্ড্রয়েড 11 এমুলেটরটি সরঞ্জাম> এসডিকে ম্যানেজারে নেভিগেট করে 9 বা তার বেশি সংস্করণে আপগ্রেড করুন। এসডিকে প্ল্যাটফর্মের ট্যাবে, প্যাকেজের বিশদটি লেবেলযুক্ত বক্সটি পরীক্ষা করুন এবং অ্যান্ড্রয়েড 11 এমুলেটরের 9 বা উচ্চতর সংশোধন করুন।
স্টুডিও আপগ্রেডের পরে শুরু হয় না
যদি কোনও স্টুডিও আপগ্রেডের পরে শুরু না হয় তবে সমস্যাটি অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণ বা একটি বেমানান প্লাগইন থেকে আমদানি করা একটি অবৈধ অ্যান্ড্রয়েড স্টুডিও কনফিগারেশনের কারণে হতে পারে। একটি কার্যকারিতা হিসাবে, অ্যান্ড্রয়েড স্টুডিও সংস্করণ এবং অপারেটিং সিস্টেমের উপর নির্ভর করে নীচের ডিরেক্টরিটি মুছে ফেলার (বা নামকরণ নামকরণ) চেষ্টা করুন এবং আবার অ্যান্ড্রয়েড স্টুডিও শুরু করুন। এটি সমস্ত তৃতীয় পক্ষের প্লাগইনগুলি সরানো সহ অ্যান্ড্রয়েড স্টুডিওটিকে তার ডিফল্ট অবস্থায় পুনরায় সেট করবে।
অ্যান্ড্রয়েড স্টুডিও 4.1 এবং পরে:
উইন্ডোজ:
%APPDATA%\Google\AndroidStudio <version>
উদাহরণ:C:\Users\ your_user_name \AppData\Roaming\Google\AndroidStudio4.1
ম্যাকোস:
~/Library/Application Support/Google/AndroidStudio <version>
উদাহরণ:~/Library/Application Support/Google/AndroidStudio4.1
লিনাক্স
~/.config/Google/AndroidStudio <version>
~/.local/share/Google/AndroidStudio <version>
~/.local/share/Google/AndroidStudio4.1
~/.config/Google/AndroidStudio4.1
অ্যান্ড্রয়েড স্টুডিও 4.0 এবং এর আগে:
উইন্ডোজ:
%HOMEPATH%\.AndroidStudio <version> \config
উদাহরণ:C:\Users\ your_user_name \.AndroidStudio3.6\config
ম্যাকোস:
~/Library/Preferences/AndroidStudio <version>
উদাহরণ:~/Library/Preferences/AndroidStudio3.6
লিনাক্স:
~/.AndroidStudio <version> /config
উদাহরণ:~/.AndroidStudio3.6/config
নোট করুন যে অ্যান্ড্রয়েড স্টুডিওর ক্যানারি এবং বিটা রিলিজের জন্য কনফিগারেশন ডিরেক্টরিটি <version>
এর জন্য XY
পরিবর্তে PreviewX.Y
। উদাহরণস্বরূপ, অ্যান্ড্রয়েড স্টুডিও 4.1 ক্যানারি AndroidStudioPreview4.1
4.1 ব্যবহার করে AndroidStudio4.1
ডিরেক্টরি যা রিলিজ প্রার্থী এবং স্থিতিশীল রিলিজের জন্য ব্যবহৃত হয় তার পরিবর্তে ব্যবহার করে।
কোটলিন মাল্টিপ্ল্যাটফর্ম প্রকল্পগুলিতে সংকলন সমস্যা
অনুপস্থিত চিহ্নগুলির কারণে কোটলিন এমপিপি কোডে সংকলন ত্রুটি দেখা দিতে পারে। আপনার কোটলিন প্লাগইনটি সংস্করণ 1.4 এ আপগ্রেড করা এই সমস্যাটি সমাধান করা উচিত।
লিনাক্সে কী ম্যাপিং দ্বন্দ্ব
লিনাক্সে, নির্দিষ্ট কীবোর্ড শর্টকাটগুলি ডিফল্ট লিনাক্স কীবোর্ড শর্টকাট এবং জনপ্রিয় উইন্ডো পরিচালকদের যেমন কেডি এবং জিনোমের সাথে বিরোধ করে। এই বিরোধী কীবোর্ড শর্টকাটগুলি অ্যান্ড্রয়েড স্টুডিওতে প্রত্যাশার মতো কাজ করতে পারে না।
এই সমস্যা সম্পর্কে আরও তথ্য (সম্ভাব্য কার্যকারিতা সহ) ইন্টেলিজের বাগ ট্র্যাকারে পাওয়া যাবে।
ক্রোমোসে ছোট ইউআই পাঠ্য
ক্রোমোসে, পাঠ্য পূর্ববর্তী রিলিজের তুলনায় অনেক ছোট প্রদর্শিত হতে পারে। এই সমস্যাটি ঘিরে কাজ করার জন্য, নিম্নলিখিতগুলি করুন:
- ফাইল> সেটিংস ক্লিক করে সেটিংস উইন্ডোটি খুলুন
- উপস্থিতি এবং আচরণ> উপস্থিতি নেভিগেট করুন।
- কাস্টম ফন্ট ব্যবহার করুন নির্বাচন করুন।
- ফন্টের আকার বাড়ান।
- সেটিংস উইন্ডোতে, সম্পাদক> ফন্টে নেভিগেট করুন।
- ফন্টের আকার বাড়ান।
- ওকে ক্লিক করুন।
কোড এডিটিং
এই বিভাগটি কোড সম্পাদক সম্পর্কিত পরিচিত বিষয়গুলি বর্ণনা করে।
হিমায়িত কীবোর্ড ইনপুট - লিনাক্সে "আইবাস" সমস্যা
লিনাক্স এবং অ্যান্ড্রয়েড স্টুডিওতে আইবিইউএস ডেমনের মধ্যে কিছু পরিচিত মিথস্ক্রিয়া রয়েছে। কিছু পরিস্থিতিতে, আইডিই কীবোর্ড ইনপুটটিতে সাড়া দেওয়া বন্ধ করে দেয় বা এলোমেলো অক্ষরগুলি ইনপুট করা শুরু করে। এই বাগটি আইবিইউএস এবং এক্সলিব + এডাব্লুটি -র মধ্যে কিছু অনুপস্থিত সিঙ্ক্রোনাইজেশন দ্বারা ট্রিগার করা হয়েছে এবং ইতিমধ্যে জেটব্রেন এবং আইবিইউগুলিতে উজানের প্রতিবেদন করা হয়েছে। এই ইস্যুটির জন্য তিনটি বর্তমান কাজ রয়েছে:
- ওয়ার্কআরাউন্ড 1: আইবাসকে সিঙ্ক্রোনাস মোডে জোর করুন। অ্যান্ড্রয়েড স্টুডিও শুরু করার আগে, কমান্ড লাইনে নিম্নলিখিতগুলি চালান:
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
- ওয়ার্কআরাউন্ড 2: অ্যান্ড্রয়েড স্টুডিওতে আইবিইউএস ইনপুট অক্ষম করুন। কেবলমাত্র অ্যান্ড্রয়েড স্টুডিওর জন্য আইবিইউএস ইনপুট অক্ষম করতে, কমান্ড লাইনে নিম্নলিখিতগুলি চালান:
এই কাজের ক্ষেত্রটি কেবলমাত্র অ্যান্ড্রয়েড স্টুডিওর জন্য ইনপুট পদ্ধতিগুলি অক্ষম করে, আপনি চালাচ্ছেন এমন কোনও অ্যাপ্লিকেশন নয়। মনে রাখবেন যে অ্যান্ড্রয়েড স্টুডিও চলাকালীন আপনি যদি ডেমনটি পুনরায় চালু করেন (উদাহরণস্বরূপ,$ XMODIFIERS= ./bin/studio.sh
ibus-daemon -rd
চালিয়ে), আপনি অন্যান্য সমস্ত অ্যাপ্লিকেশনগুলির জন্য ইনপুট পদ্ধতিগুলি কার্যকরভাবে অক্ষম করেন এবং একটি বিভাগের ত্রুটিযুক্ত অ্যান্ড্রয়েড স্টুডিওর জেভিএমকে ক্র্যাশ করতে পারেন। - ওয়ার্কআরাউন্ড 3: পরবর্তী ইনপুট শর্টকাটটি +স্থান নিয়ন্ত্রণ করতে সেট করা নেই তা নিশ্চিত করার জন্য শর্টকাট বাইন্ডিংগুলি ডাবল-চেক করুন, কারণ এটি অ্যান্ড্রয়েড স্টুডিওতে কোড সমাপ্তির শর্টকাটও। উবুন্টু 14.04 (বিশ্বস্ত) সুপার+স্পেসকে ডিফল্ট শর্টকাট তৈরি করে, তবে পূর্ববর্তী সংস্করণগুলির সেটিংস এখনও কাছাকাছি থাকতে পারে। আপনার শর্টকাট বাইন্ডিংগুলি পরীক্ষা করতে, আইবিইউএস পছন্দগুলি উইন্ডোটি খোলার জন্য কমান্ড লাইনে
ibus-setup
চালান। কীবোর্ড শর্টকাটগুলির অধীনে, পরবর্তী ইনপুট পদ্ধতিটি পরীক্ষা করুন। যদি এটি+স্থান নিয়ন্ত্রণ করতে সেট করা থাকে তবে এটিকে সুপার+স্পেস বা আপনার পছন্দের অন্য কোনও শর্টকাট পরিবর্তন করুন।
প্রকল্প কনফিগারেশন
এই বিভাগটি প্রকল্প কনফিগারেশন এবং গ্রেডল সিঙ্ক সম্পর্কিত পরিচিত বিষয়গুলি বর্ণনা করে।
গ্রেডল সিঙ্ক ব্যর্থ: ভাঙা পাইপ
সমস্যাটি হ'ল গ্রেডল ডেমন আইপিভি 6 এর পরিবর্তে আইপিভি 4 ব্যবহার করার চেষ্টা করছে।
- কার্যকারণ 1: লিনাক্সে, আপনার
~/.profile
বা~/.bash_profile
এ নিম্নলিখিতগুলি রাখুন:export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
- ওয়ার্কআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআউট
-Djava.net.preferIPv4Addresses=true
-Djava.net.preferIPv6Addresses=true
গ্রেড সিঙ্ক বা এসডিকে ম্যানেজার থেকে "পিয়ার প্রমাণিত নয়" ত্রুটি
এই ত্রুটিগুলির মূল কারণ হ'ল $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 এর এইচএএক্সএমের মতো কার্নেল এক্সটেনশনগুলি ইনস্টল করার জন্য আরও জড়িত প্রক্রিয়া রয়েছে। আপনাকে ম্যানুয়ালি কার্নেল এক্সটেনশনটি নিজেই নীচে ইনস্টল করার অনুমতি দিতে হবে:
- প্রথমে এসডিকে ম্যানেজারের কাছ থেকে এইচএএক্সএমের সর্বশেষ সংস্করণ ইনস্টল করার চেষ্টা করুন।
- ম্যাকোসে, সিস্টেমের পছন্দসমূহ> সুরক্ষা এবং গোপনীয়তায় যান।
আপনি যদি কোনও সতর্কতা দেখতে পান যে বিকাশকারী "ইন্টেল কর্পোরেশন অ্যাপ্লিকেশনগুলি" থেকে সিস্টেম সফ্টওয়্যারটি লোডিং থেকে অবরুদ্ধ ছিল , তবে ক্লিক করুন: ক্লিক করুন :
আরও তথ্য এবং কাজের জন্য, এই অ্যাপল ওয়েবপৃষ্ঠাটি দেখুন এবং 62395878 ইস্যু করুন ।
পরিবর্তনগুলি প্রয়োগ করুন
এই বিভাগটি এমন পরিচিত বিষয়গুলি বর্ণনা করে যা পরিবর্তনগুলি প্রয়োগের সাথে সম্পর্কিত।
নতুন অ্যাপের নাম প্রয়োগ করা হয়নি
যদি আপনি আপনার অ্যাপ্লিকেশনটির নাম পরিবর্তন করেন এবং তারপরে সেই পরিবর্তনটি প্রয়োগ করার চেষ্টা করেন তবে আপডেট হওয়া নামটি প্রতিফলিত হতে পারে না। এই সমস্যাটি ঘিরে কাজ করতে, রান ক্লিক করুন আপনার অ্যাপ্লিকেশনটি পুনরায় স্থাপন করতে এবং আপনার পরিবর্তনগুলি দেখতে।
অ্যান্ড্রয়েড রানটাইম ইস্যু ত্রুটি ছুড়ে ফেলেছে
আপনি যদি অ্যান্ড্রয়েড 8.0 বা 8.1 চালিত কোনও ডিভাইস ব্যবহার করছেন তবে নির্দিষ্ট ধরণের পরিবর্তনগুলি প্রয়োগ করার চেষ্টা করার সময় আপনি "যাচাইকরণ_আরর" বার্তাগুলির মুখোমুখি হতে পারেন (বিশেষত যদি আপনি কোটলিন ব্যবহার করছেন)। This message is caused by an issue with the Android Runtime that is fixed in Android 9.0 and higher. Although the issue causes Apply Changes to fail, you can still Run your app again to see your changes. However, we recommend that you upgrade the device to Android 9.0 or greater.
ডিবাগিং এবং টেস্টিং
This section describes known issues related to debugging and testing your app.
JUnit tests missing resources in classpath when run from Android Studio
If you have specific resource folders in your Java modules, then those resources won't be found when running tests from the IDE. Running tests using Gradle from the command line will work. Executing the Gradle check
task from the IDE will also work. See issue 64887 for more details.
This issue occurs because as of IntelliJ 13, which requires that you only have a single folder as the classpath. IntelliJ's builder copies all resources into that build folder, but Gradle doesn't copy over the resources.
- Workaround 1: Run the Gradle
check
task from the IDE rather than running a unit test. - Workaround 2: Update your build script to manually copy resources into the build folder. See comment #13 for more information.
Running JUnit tests may compile the code twice
When creating a new project, the template JUnit configuration might be created with two "Before launch" steps: Make and Gradle-aware Make. This configuration is then propagated to all created JUnit run configurations.
- To fix the issue for the current project, click Run > Edit Configurations and change the default JUnit configuration to only include the Gradle-aware Make step.
- To fix the issue for all future projects, click File > Close Project . You should see the welcome screen. Then click Configure > Project Defaults > Run Configurations and change the JUnit configuration to only include the Gradle-aware Make step.
Some test run configurations don't work
Not all run configurations that are available when right-clicking a test method are valid. Specifically, the following configurations are not valid:
- Gradle run configurations (which have a Gradle logo as the icon) don't work.
- JUnit run configurations (which have an icon without the green Android) don't apply to instrumentation tests, which cannot be run on the local JVM.
Adding Java breakpoints while debugging native code
While your app is paused at a breakpoint in your native code, the Auto and Dual debuggers may not immediately recognize new Java breakpoints that you set. To avoid this issue, add Java breakpoints either before starting a debug session or while the app is paused on a Java breakpoint. For more information, see issue 229949 .
Stepping out of the native debugger
While using the Auto or Dual debugger to debug Java and native code, if you step into a native function from your Java code (for example, the debugger pauses execution at a line in your Java code that calls a native function and you click Step Into ) and you want to return to your Java code, click Resume Program
(instead of Step Out
or Step Over
) Your app process will still be paused, so click Resume Program
in the your-module -java tab to resume it. For more information, see issue 224385 .
Native debugger hangs while loading libraries
While using the native debugger for the first time after upgrading to Android Studio 4.2 and higher, the native debugger may stop responding while loading libraries from the Android device. This issue is a sticky problem that continues to happen even if you stop and restart the debugger. To fix this problem, delete the LLDB cache at $USER/.lldb/module-cache/
.
Native debugger crashes with "Debugger process finished with exit code 127"
This error occurs on Linux-based platforms when starting the native debugger. It indicates that one of the libraries required by the native debugger is not installed on the local system. The name of the missing library may be already printed in the idea.log
file. If not, you can use a terminal to navigate to the Android Studio installation directory and execute the bin/lldb/bin/LLDBFrontend --version
command line to learn which libraries are missing. Typically, the missing library is ncurses5
as some recent Linux distributions have already upgraded to ncurses6
.
প্রোফাইলার
This section describes known issues with the Profilers.
Native Memory Profiler: Profiling not available during app startup
The Native Memory Profiler is currently unavailable during app startup. This option will be available in an upcoming release.
As a workaround, you can use the Perfetto standalone command-line profiler to capture startup profiles.
Timeout errors in CPU Profiler
You may experience "Recording failed to stop" errors in the Android Studio CPU Profiler when you select the Sample Java Methods or Trace Java Methods configurations. These are often timeout errors, especially if you see the following error message in the idea.log
file:
Wait for ART trace file timed out
The timeout errors tend to affect traced methods more than sampled methods and longer recordings more than shorter recordings. As a temporary workaround, it may be helpful to try shorter recordings to see if the error disappears.
If you experience timeout issues with the Profiler, please file a bug that includes the make/model of your device(s) and any relevant entries from idea.log
and logcat.
ADB exception when debugging or profiling
When using Platform Tools 29.0.3, native debugging and the Android Studio Profilers might not work properly, and you might see either "AdbCommandRejectedException" or "Failed to connect port" in the idea.log
file when you select Help > Show Log . Upgrading the Platform Tools to 29.0.4 or higher fixes both issues.
To upgrade the Platform Tools, do the following:
- Open the SDK Manager from Android Studio by clicking Tools > SDK Manager or click SDK Manager
টুলবারে
- Click the checkbox next to Android SDK Platform-Tools so it shows a checkmark. A download icon
should appear in the left column.
- প্রয়োগ করুন বা ঠিক আছে ক্লিক করুন।
Plugin prevents Build Output window from working
Using the CMake simple highlighter plugin prevents content from appearing in the Build Output window. The build runs and the Build Output tab appears, but there is no output printed ( issue #204791544 ).
Installation order prevents launch
Installing a newer version of Android Studio before an older version might prevent the older version from launching. For example, if you first install the canary version of Android Studio, and then try to install and launch the stable version, the stable version might not launch. In cases like this, you must clear the cache to get the stable (older) version to launch. On macOS, to clear the cache delete the Library/ApplicationSupport/Google/AndroidStudio version_number
directory. On Windows, to clear the cache use Disk Cleanup .
Espresso Test Recorder doesn't work with Compose
The Espresso Test Recorder doesn't work with projects that include Compose. To create UI tests for projects that include Compose, see Testing your Compose layout .
Logcat shortcut conflicts with non-English keyboard layouts
If you're using a non-English keyboard layout, a default Logcat keyboard shortcut might conflict with the layout and prevent you from typing certain characters when editing text in Android Studio. To work around this issue, delete or re-map the conflicting Logcat keymap. To edit the Logcat keymaps in Android Studio, go to Android Studio > Settings > Keymap and search for Logcat
in the list of keymaps. For more information, see issue #263475910 .
This issue will be resolved by the removal of the Logcat shortcut in Android Studio Electric Eel Patch 1.
Known issues with the Android Gradle Plugin
This section describes known issues that exist in the latest stable version of the Android Gradle plugin.
Not all dynamic-feature library dependencies are lint checked
When running lint with checkDependencies = true
from an app module, dynamic-feature library dependencies aren't checked unless they're also app dependencies ( issue #191977888 ). As a workaround, the lint task can be run on those libraries.
Signing file named with carriage return characters
JAR signing (v1 scheme) does not support file names containing carriage return characters ( issue #63885809 ).
Modifying variant outputs at build time might not work
Using the Variant API to manipulate variant outputs is broken with the new plugin. It still works for simple tasks, such as changing the APK name during build time, as shown below:
// 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" } }
However, more complicated tasks that involve accessing outputFile
objects no longer work. That's because variant-specific tasks are no longer created during the configuration stage. This results in the plugin not knowing all of its outputs up front, but it also means faster configuration times.
manifestOutputFile is no longer available
The processManifest.manifestOutputFile()
method is no longer available, and you get the following error when you call it:
A problem occurred configuring project ':myapp'. Could not get unknown property 'manifestOutputFile' for task ':myapp:processDebugManifest' of type com.android.build.gradle.tasks.ProcessManifest.
Instead of calling manifestOutputFile()
to get the manifest file for each variant, you can call processManifest.manifestOutputDirectory()
to return the path of the directory that contains all generated manifests. You can then locate a manifest and apply your logic to it. The sample below dynamically changes the version code in the manifest:
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) } } }
Issues with AGP 7.3.0 AIDL support and Kotlin 1.7.x
Using AGP 7.3.0 with KAPT in Kotlin 1.7.x causes the AIDL source sets for specific build variants to be removed. You can still use the other AIDL source sets, including those of main/
, build types, product flavors, and combinations of product flavors. If you need to use the variant-specific AIDL source sets, continue to use Kotlin 1.6.21.
Fixed known issues
This section describes known issues that have been fixed in a recent release. If you are experiencing any of these issues, you should update Android Studio to the latest stable or preview version .
Fixed in Android Studio 2021.1.1
- Missing lint output : There is no lint text output printed to
stdout
when the lint task isUP-TO-DATE
( issue #191897708 ). Fixed in AGP 7.1.0-alpha05. - Problems with unit testing an app project that uses the Hilt plugin : The unit test classpath contains the non-instrumented app classes, which means Hilt does not instrument the app classes to handle dependency injection when running unit tests ( issue #213534628 ). Fixed in AGP 7.1.1.
Fixed in Android Studio 2020.3.1
- Lint exceptions in Kotlin projects: Kotlin projects that set
checkDependencies = true
may encounter null pointer exceptions or errors ( issue #158777858 ).
Fixed in Android Studio 4.2
- IDE freezes on macOS Big Sur: Android Studio 4.1 might freeze when you open a dialog.
Fixed in Android Studio 4.1
- Restart to apply memory settings from previous version of IDE: After updating Android Studio, you need to restart Android Studio to apply any memory settings migrated from an earlier version of the IDE.
- Manifest class with custom permission strings is no longer generated by default: If you want to generate the class, set
android.generateManifestClass = true
.
Fixed in Android Studio 3.6
APK installation error on LineageOS : Deploying your app to devices running certain versions of LineageOS or CyanogenMod might fail and throw an
INSTALL_PARSE_FAILED_NOT_APK
exception.On Android Studio 3.6 Beta 1 and higher, the IDE handles this exception by performing a full app install when you deploy your app to LineageOS or CyanogenMod devices, which might result in longer deploy times.
Fixed in Android Studio 3.5.2
- Broken XML code style : When editing XML code, the IDE applied an incorrect code style when you selected Code > Reformat Code from the menu bar.
Fixed in Android Studio 3.3.1
Out of memory errors when scanning C++-based projects : When Gradle scans a project that has C++ code in more than one location on the same drive, the scan includes all directories below the first common directory. Scanning a large number of directories and files may lead to out of memory errors.
For more information on this issue, read the bug associated with the issue.
This page tracks known issues with Android Studio Meerkat and Android Gradle plugin 8.9.0. If you experience an issue not already included here, please report a bug .
Upgrade to preview: Each release of Android Studio and the Android Gradle plugin aims to improve stability and performance, and add new features. To experience the benefits of upcoming releases now, download and install Android Studio Preview .
Known Issues with Android Studio
This section describes known issues that exist in the latest stable version of Android Studio.
Run configuration without "Before launch" Gradle-aware Make leads to deployment error
There was an issue in Android Studio Ladybug Feature Drop Canary 9 that removed run configuration information from projects that were opened with that version. If you opened your project with that version at some point, and running your app results in the error "loading build artifacts," verify that the active run configuration has the "Gradle-aware Make" step in the "Before launch" section. To verify this click Run/Debug Configurations > Edit Configurations , click the active run configuration and confirm that there is a "Gradle-aware Make" step in the "Before launch" section. Unfortunately Android Studio can't fix this issue automatically because some run configurations may have been intentionally set up without a "Gradle-aware Make" step.
'Apply Changes & Restart Activity' does not restart the activity on API level 35 devices or emulators
When you deploy code changes to an API 35 device with 'Apply Changes & Restart Activity', the app won't be restarted and you won't see the effect of the changes. If you rerun the application you will see the effect of the code changes. Our team is actively investigating this.
Firebase assistant window displays an error message
If the Firebase Assistant Window (Tools > Firebase from the main menu) displays an error message, invalidate the caches and restart Android Studio to fix the error.
Can't isolate a view using Layout Inspector
The ability to isolate a view using the embedded Layout Inspector is temporarily unavailable. We're working on fixing this issue in a future release.
Compose nodes are not all inspectable using Layout Inspector
If you notice that not all Compose nodes are inspectable when you're using Layout Inspector , this is likely due to a bug that has been fixed in Compose version 1.5.0-alpha04. If you're experiencing this issue, make sure that you upgrade to Compose version 1.5.0-alpha04 or higher.
Error when rendering Compose Preview
Starting with Android Studio Chipmunk, if you're seeing java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner
or java.lang.ClassNotFoundException: androidx.savedstate.R$id
in the issues panel, make sure to include a debugImplementation
dependency to androidx.lifecycle:lifecycle-viewmodel-savedstate
in your module.
If you're seeing java.lang.NoSuchFieldError: view_tree_lifecycle_owner
in the issues panel, make sure to include a debugImplementation
dependency to androidx.lifecycle:lifecycle-runtime
in your module.
If you're seeing java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer
or java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener
in the issues panel, make sure to include a debugImplementation
dependency to androidx.customview:customview-poolingcontainer
in your module.
Error when using different passwords for key and keystore
Starting with version 4.2, Android Studio now runs on JDK 11. This update causes an underlying behavior change related to signing keys.
When you navigate to Build > Generate Signed Bundle / APK and attempt to configure app signing for an app bundle or an APK, entering different passwords for the key and keystore may result in the following error:
Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores
To work around this issue, enter the same password for both the key and keystore.
Android Studio doesn't start after installing version 4.2
Studio tries to import previous .vmoptions and sanitize them to work with the garbage collector used by JDK 11. If that process fails, the IDE may not start for certain users who set custom VM options in the .vmoptions file.
To work around this issue, we recommend commenting out custom options in .vmoptions (using the “#” character). The .vmoptions file can be found in the following locations:
উইন্ডোজ
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
If Studio still doesn't start after trying this workaround, see Studio doesn't start after upgrade below.
Apps using Database Inspector crash on Android 11 emulator
Apps using the Database Inspector may crash when running on the Android 11 emulator, with an error like the following appearing in logcat:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
To fix this issue, upgrade your Android 11 emulator to version 9 or higher by navigating to Tools > SDK Manager . In the SDK Platforms tab, check the box labeled Show Package Details and select revision 9 or higher of the Android 11 emulator.
Studio doesn't start after upgrade
If Studio doesn't start after an upgrade, the problem may be due to an invalid Android Studio configuration imported from a previous version of Android Studio or an incompatible plugin. As a workaround, try deleting (or renaming, for backup purposes) the directory below, depending on the Android Studio version and operating system, and start Android Studio again. This will reset Android Studio to its default state, with all third-party plugins removed.
For Android Studio 4.1 and later:
Windows:
%APPDATA%\Google\AndroidStudio <version>
Example:C:\Users\ your_user_name \AppData\Roaming\Google\AndroidStudio4.1
macOS:
~/Library/Application Support/Google/AndroidStudio <version>
Example:~/Library/Application Support/Google/AndroidStudio4.1
Linux:
~/.config/Google/AndroidStudio <version>
and~/.local/share/Google/AndroidStudio <version>
Example:~/.config/Google/AndroidStudio4.1
and~/.local/share/Google/AndroidStudio4.1
For Android Studio 4.0 and earlier:
Windows:
%HOMEPATH%\.AndroidStudio <version> \config
Example:C:\Users\ your_user_name \.AndroidStudio3.6\config
macOS:
~/Library/Preferences/AndroidStudio <version>
Example:~/Library/Preferences/AndroidStudio3.6
Linux:
~/.AndroidStudio <version> /config
Example:~/.AndroidStudio3.6/config
Note that the configuration directory for Canary and Beta releases of Android Studio is PreviewX.Y
instead of XY
for the <version>
. For example, Android Studio 4.1 Canary builds use AndroidStudioPreview4.1
, instead of the AndroidStudio4.1
directory that is used for Release Candidates and Stable releases.
Compilation issue in Kotlin multiplatform projects
Compilation errors may arise in Kotlin MPP code due to missing symbols. Upgrading your Kotlin plugin to version 1.4 should resolve this issue.
Key mapping conflicts on Linux
On Linux, certain keyboard shortcuts conflict with default Linux keyboard shortcuts and those of popular window managers, such as KDE and GNOME. These conflicting keyboard shortcuts may not work as expected in Android Studio.
More information about this issue (including potential workarounds) can be found in IntelliJ's bug tracker .
Small UI text on ChromeOS
On ChromeOS, text might appear much smaller than in previous releases. To work around this issue, do the following:
- Open the Settings window by clicking File > Settings
- Navigate to Appearance & Behavior > Appearance .
- Select Use custom font .
- Increase the font size.
- In the Settings window, navigate to Editor > Font .
- Increase the font size.
- ওকে ক্লিক করুন।
কোড এডিটিং
This section describes known issues related to the code editor.
Frozen keyboard input - "iBus" problems on Linux
There are some known interactions between the iBus daemon on Linux and Android Studio. In some scenarios, the IDE stops responding to keyboard input or starts inputting random characters. This bug is triggered by some missing synchronization between iBus and XLib + AWT, and has already been reported upstream to JetBrains and iBus . There are three current workarounds for this issue:
- Workaround 1: Force iBus into synchronous mode. Before starting Android Studio, run the following on the command line:
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
- Workaround 2: Disable iBus input in Android Studio. To disable iBus input for Android Studio only, run the following on the command line:
This workaround only disables input methods for Android Studio, not any other applications you may be running. Note that if you restart the daemon while Android Studio is running (for example, by running$ XMODIFIERS= ./bin/studio.sh
ibus-daemon -rd
), you effectively disable the input methods for all other applications and may also crash Android Studio's JVM with a segmentation fault. - Workaround 3: Double-check the shortcut bindings to make sure that the Next input shortcut is not set to Control+Space, since this is also the code completion shortcut in Android Studio. Ubuntu 14.04 (Trusty) makes Super+Space the default shortcut, but settings from previous versions may still be around. To check your shortcut bindings, run
ibus-setup
on the command line to open the IBus Preferences window. Under Keyboard Shortcuts , check the Next input method . If it is set to Control+Space, change it to Super+Space, or another shortcut of your choice.
প্রকল্প কনফিগারেশন
This section describes known issues related to project configuration and Gradle sync.
Gradle Sync Failed: Broken Pipe
The issue is that the Gradle daemon is trying to use IPv4 instead of IPv6.
- Workaround 1: On Linux, put the following in your
~/.profile
or~/.bash_profile
:export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
- Workaround 2: in Android Studio's vmoptions file , change the line
-Djava.net.preferIPv4Addresses=true
to-Djava.net.preferIPv6Addresses=true
For more information, see the Networking IPv6 User Guide .
"peer not authenticated" errors from Gradle sync or SDK Manager
The root cause of these errors is a missing certificate in $JAVA_HOME/jre/lib/certificates/cacerts
. To resolve these errors, proceed as follows:
- If you're behind a proxy, try to connect directly. If the direct connection works, then in order to connect via the proxy you may need to use
keytool
to add the proxy server's certificate to the cacerts file. - Re-install a supported, unmodified JDK. There's a known issue affecting Ubuntu users, which results in an empty
/etc/ssl/certs/java/cacerts
. To work around this issue, execute the following on the command line:sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure
স্থাপন করা হচ্ছে
This section describes known issues related to deploying your app to a connected device.
[Mac OS only] Incremental updates are not applied due to an issue with Gradle file watching on projects saved under /System/Volumes/Data
Gradle issue 18149 affects Android Gradle Plugin versions 7.0 and higher because they require Gradle version 7.0 and higher . Starting in Gradle 7.0, file watching is enabled by default. If you are working on Mac OS and your project is saved under /System/Volumes/Data
, Gradle file watching will not properly track file changes. This will cause the Build System to not see any file changes and it will therefore not update the APK(s). The incremental deployment code will then do nothing because the local APK state is the same as on the device.
To work around this issue you should move your project's directory to your user directory, that is, under /Users/username
. The Build System will then be properly notified about file changes by Gradle file watching and incremental changes will be successfully applied.
Android Emulator HAXM on macOS High Sierra
The Android Emulator on macOS High Sierra (10.13) requires HAXM 6.2.1+ for best compatibility and stability with macOS. However, macOS 10.13 has a more involved process to install kernel extensions such as HAXM. You need to manually allow the kernel extension itself to be installed as follows:
- First, attempt to install the latest version of HAXM from the SDK Manager .
- In MacOS, go to System Preferences > Security and Privacy .
If you see an alert that System software from developer "Intel Corporation Apps" was blocked from loading , click Allow :
For more information and workarounds, see this Apple webpage and issue 62395878 .
পরিবর্তনগুলি প্রয়োগ করুন
This section describes known issues that are related to Apply Changes .
New app name not applied
If you rename your app and then try to apply that change, the updated name might not be reflected. To work around this issue, click Run to re-deploy your app and see your changes.
Issue in Android Runtime throws error
If you're using a device that runs Android 8.0 or 8.1, you might encounter "VERIFICATION_ERROR" messages when trying to apply certain types of changes (especially if you're using Kotlin). This message is caused by an issue with the Android Runtime that is fixed in Android 9.0 and higher. Although the issue causes Apply Changes to fail, you can still Run your app again to see your changes. However, we recommend that you upgrade the device to Android 9.0 or greater.
ডিবাগিং এবং টেস্টিং
This section describes known issues related to debugging and testing your app.
JUnit tests missing resources in classpath when run from Android Studio
If you have specific resource folders in your Java modules, then those resources won't be found when running tests from the IDE. Running tests using Gradle from the command line will work. Executing the Gradle check
task from the IDE will also work. See issue 64887 for more details.
This issue occurs because as of IntelliJ 13, which requires that you only have a single folder as the classpath. IntelliJ's builder copies all resources into that build folder, but Gradle doesn't copy over the resources.
- Workaround 1: Run the Gradle
check
task from the IDE rather than running a unit test. - Workaround 2: Update your build script to manually copy resources into the build folder. See comment #13 for more information.
Running JUnit tests may compile the code twice
When creating a new project, the template JUnit configuration might be created with two "Before launch" steps: Make and Gradle-aware Make. This configuration is then propagated to all created JUnit run configurations.
- To fix the issue for the current project, click Run > Edit Configurations and change the default JUnit configuration to only include the Gradle-aware Make step.
- To fix the issue for all future projects, click File > Close Project . You should see the welcome screen. Then click Configure > Project Defaults > Run Configurations and change the JUnit configuration to only include the Gradle-aware Make step.
Some test run configurations don't work
Not all run configurations that are available when right-clicking a test method are valid. Specifically, the following configurations are not valid:
- Gradle run configurations (which have a Gradle logo as the icon) don't work.
- JUnit run configurations (which have an icon without the green Android) don't apply to instrumentation tests, which cannot be run on the local JVM.
Adding Java breakpoints while debugging native code
While your app is paused at a breakpoint in your native code, the Auto and Dual debuggers may not immediately recognize new Java breakpoints that you set. To avoid this issue, add Java breakpoints either before starting a debug session or while the app is paused on a Java breakpoint. For more information, see issue 229949 .
Stepping out of the native debugger
While using the Auto or Dual debugger to debug Java and native code, if you step into a native function from your Java code (for example, the debugger pauses execution at a line in your Java code that calls a native function and you click Step Into ) and you want to return to your Java code, click Resume Program
(instead of Step Out
or Step Over
) Your app process will still be paused, so click Resume Program
in the your-module -java tab to resume it. For more information, see issue 224385 .
Native debugger hangs while loading libraries
While using the native debugger for the first time after upgrading to Android Studio 4.2 and higher, the native debugger may stop responding while loading libraries from the Android device. This issue is a sticky problem that continues to happen even if you stop and restart the debugger. To fix this problem, delete the LLDB cache at $USER/.lldb/module-cache/
.
Native debugger crashes with "Debugger process finished with exit code 127"
This error occurs on Linux-based platforms when starting the native debugger. It indicates that one of the libraries required by the native debugger is not installed on the local system. The name of the missing library may be already printed in the idea.log
file. If not, you can use a terminal to navigate to the Android Studio installation directory and execute the bin/lldb/bin/LLDBFrontend --version
command line to learn which libraries are missing. Typically, the missing library is ncurses5
as some recent Linux distributions have already upgraded to ncurses6
.
প্রোফাইলার
This section describes known issues with the Profilers.
Native Memory Profiler: Profiling not available during app startup
The Native Memory Profiler is currently unavailable during app startup. This option will be available in an upcoming release.
As a workaround, you can use the Perfetto standalone command-line profiler to capture startup profiles.
Timeout errors in CPU Profiler
You may experience "Recording failed to stop" errors in the Android Studio CPU Profiler when you select the Sample Java Methods or Trace Java Methods configurations. These are often timeout errors, especially if you see the following error message in the idea.log
file:
Wait for ART trace file timed out
The timeout errors tend to affect traced methods more than sampled methods and longer recordings more than shorter recordings. As a temporary workaround, it may be helpful to try shorter recordings to see if the error disappears.
If you experience timeout issues with the Profiler, please file a bug that includes the make/model of your device(s) and any relevant entries from idea.log
and logcat.
ADB exception when debugging or profiling
When using Platform Tools 29.0.3, native debugging and the Android Studio Profilers might not work properly, and you might see either "AdbCommandRejectedException" or "Failed to connect port" in the idea.log
file when you select Help > Show Log . Upgrading the Platform Tools to 29.0.4 or higher fixes both issues.
To upgrade the Platform Tools, do the following:
- Open the SDK Manager from Android Studio by clicking Tools > SDK Manager or click SDK Manager
টুলবারে
- Click the checkbox next to Android SDK Platform-Tools so it shows a checkmark. A download icon
should appear in the left column.
- প্রয়োগ করুন বা ঠিক আছে ক্লিক করুন।
Plugin prevents Build Output window from working
Using the CMake simple highlighter plugin prevents content from appearing in the Build Output window. The build runs and the Build Output tab appears, but there is no output printed ( issue #204791544 ).
Installation order prevents launch
Installing a newer version of Android Studio before an older version might prevent the older version from launching. For example, if you first install the canary version of Android Studio, and then try to install and launch the stable version, the stable version might not launch. In cases like this, you must clear the cache to get the stable (older) version to launch. On macOS, to clear the cache delete the Library/ApplicationSupport/Google/AndroidStudio version_number
directory. On Windows, to clear the cache use Disk Cleanup .
Espresso Test Recorder doesn't work with Compose
The Espresso Test Recorder doesn't work with projects that include Compose. To create UI tests for projects that include Compose, see Testing your Compose layout .
Logcat shortcut conflicts with non-English keyboard layouts
If you're using a non-English keyboard layout, a default Logcat keyboard shortcut might conflict with the layout and prevent you from typing certain characters when editing text in Android Studio. To work around this issue, delete or re-map the conflicting Logcat keymap. To edit the Logcat keymaps in Android Studio, go to Android Studio > Settings > Keymap and search for Logcat
in the list of keymaps. For more information, see issue #263475910 .
This issue will be resolved by the removal of the Logcat shortcut in Android Studio Electric Eel Patch 1.
Known issues with the Android Gradle Plugin
This section describes known issues that exist in the latest stable version of the Android Gradle plugin.
Not all dynamic-feature library dependencies are lint checked
When running lint with checkDependencies = true
from an app module, dynamic-feature library dependencies aren't checked unless they're also app dependencies ( issue #191977888 ). As a workaround, the lint task can be run on those libraries.
Signing file named with carriage return characters
JAR signing (v1 scheme) does not support file names containing carriage return characters ( issue #63885809 ).
Modifying variant outputs at build time might not work
Using the Variant API to manipulate variant outputs is broken with the new plugin. It still works for simple tasks, such as changing the APK name during build time, as shown below:
// 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" } }
However, more complicated tasks that involve accessing outputFile
objects no longer work. That's because variant-specific tasks are no longer created during the configuration stage. This results in the plugin not knowing all of its outputs up front, but it also means faster configuration times.
manifestOutputFile is no longer available
The processManifest.manifestOutputFile()
method is no longer available, and you get the following error when you call it:
A problem occurred configuring project ':myapp'. Could not get unknown property 'manifestOutputFile' for task ':myapp:processDebugManifest' of type com.android.build.gradle.tasks.ProcessManifest.
Instead of calling manifestOutputFile()
to get the manifest file for each variant, you can call processManifest.manifestOutputDirectory()
to return the path of the directory that contains all generated manifests. You can then locate a manifest and apply your logic to it. The sample below dynamically changes the version code in the manifest:
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) } } }
Issues with AGP 7.3.0 AIDL support and Kotlin 1.7.x
Using AGP 7.3.0 with KAPT in Kotlin 1.7.x causes the AIDL source sets for specific build variants to be removed. You can still use the other AIDL source sets, including those of main/
, build types, product flavors, and combinations of product flavors. If you need to use the variant-specific AIDL source sets, continue to use Kotlin 1.6.21.
Fixed known issues
This section describes known issues that have been fixed in a recent release. If you are experiencing any of these issues, you should update Android Studio to the latest stable or preview version .
Fixed in Android Studio 2021.1.1
- Missing lint output : There is no lint text output printed to
stdout
when the lint task isUP-TO-DATE
( issue #191897708 ). Fixed in AGP 7.1.0-alpha05. - Problems with unit testing an app project that uses the Hilt plugin : The unit test classpath contains the non-instrumented app classes, which means Hilt does not instrument the app classes to handle dependency injection when running unit tests ( issue #213534628 ). Fixed in AGP 7.1.1.
Fixed in Android Studio 2020.3.1
- Lint exceptions in Kotlin projects: Kotlin projects that set
checkDependencies = true
may encounter null pointer exceptions or errors ( issue #158777858 ).
Fixed in Android Studio 4.2
- IDE freezes on macOS Big Sur: Android Studio 4.1 might freeze when you open a dialog.
Fixed in Android Studio 4.1
- Restart to apply memory settings from previous version of IDE: After updating Android Studio, you need to restart Android Studio to apply any memory settings migrated from an earlier version of the IDE.
- Manifest class with custom permission strings is no longer generated by default: If you want to generate the class, set
android.generateManifestClass = true
.
Fixed in Android Studio 3.6
APK installation error on LineageOS : Deploying your app to devices running certain versions of LineageOS or CyanogenMod might fail and throw an
INSTALL_PARSE_FAILED_NOT_APK
exception.On Android Studio 3.6 Beta 1 and higher, the IDE handles this exception by performing a full app install when you deploy your app to LineageOS or CyanogenMod devices, which might result in longer deploy times.
Fixed in Android Studio 3.5.2
- Broken XML code style : When editing XML code, the IDE applied an incorrect code style when you selected Code > Reformat Code from the menu bar.
Fixed in Android Studio 3.3.1
Out of memory errors when scanning C++-based projects : When Gradle scans a project that has C++ code in more than one location on the same drive, the scan includes all directories below the first common directory. Scanning a large number of directories and files may lead to out of memory errors.
For more information on this issue, read the bug associated with the issue.