এই পৃষ্ঠাটি Android Studio Ladybug এবং Android Gradle প্লাগইন 8.7.0 এর সাথে পরিচিত সমস্যাগুলি ট্র্যাক করে৷ আপনি যদি এমন একটি সমস্যা অনুভব করেন যা ইতিমধ্যেই এখানে অন্তর্ভুক্ত করা হয়নি, দয়া করে একটি বাগ রিপোর্ট করুন ৷
প্রিভিউতে আপগ্রেড করুন: অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন-এর প্রতিটি রিলিজের লক্ষ্য স্থায়িত্ব এবং কর্মক্ষমতা উন্নত করা এবং নতুন বৈশিষ্ট্য যোগ করা। এখনই আসন্ন রিলিজের সুবিধাগুলি উপভোগ করতে, অ্যান্ড্রয়েড স্টুডিও প্রিভিউ ডাউনলোড এবং ইনস্টল করুন।
অ্যান্ড্রয়েড স্টুডিওর সাথে পরিচিত সমস্যা
এই বিভাগে Android স্টুডিওর সর্বশেষ স্থিতিশীল সংস্করণে বিদ্যমান পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।
ফায়ারবেস সহকারী উইন্ডো একটি ত্রুটি বার্তা প্রদর্শন করে
যদি ফায়ারবেস সহকারী উইন্ডো (প্রধান মেনু থেকে টুলস > ফায়ারবেস) একটি ত্রুটির বার্তা প্রদর্শন করে, তাহলে ক্যাশেগুলি বাতিল করুন এবং ত্রুটিটি ঠিক করতে Android স্টুডিও পুনরায় চালু করুন।
লেআউট ইন্সপেক্টর ব্যবহার করে একটি দৃশ্য বিচ্ছিন্ন করা যাবে না
এমবেডেড লেআউট ইন্সপেক্টর ব্যবহার করে একটি ভিউ আইসোলেট করার ক্ষমতা সাময়িকভাবে অনুপলব্ধ৷ আমরা ভবিষ্যতের রিলিজে এই সমস্যার সমাধান করার জন্য কাজ করছি।
লেআউট ইন্সপেক্টর ব্যবহার করে কম্পোজ নোডগুলি সব পরিদর্শনযোগ্য নয়
আপনি যদি লক্ষ্য করেন যে আপনি যখন লেআউট ইন্সপেক্টর ব্যবহার করছেন তখন সমস্ত রচনা নোডগুলি পরিদর্শনযোগ্য নয়, এটি সম্ভবত একটি বাগের কারণে যা রচনা সংস্করণ 1.5.0-alpha04 এ সংশোধন করা হয়েছে৷ আপনি যদি এই সমস্যার সম্মুখীন হন, তাহলে নিশ্চিত করুন যে আপনি কম্পোজ সংস্করণ 1.5.0-alpha04 বা উচ্চতর সংস্করণে আপগ্রেড করেছেন৷
রচনা পূর্বরূপ রেন্ডার করার সময় ত্রুটি৷
Android Studio Chipmunk দিয়ে শুরু করে, আপনি যদি java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner
বা java.lang.ClassNotFoundException: androidx.savedstate.R$id
ইস্যু প্যানেলে, তাহলে androidx.lifecycle:lifecycle-viewmodel-savedstate
জন্য একটি 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
এ debugImplementation
অন্তর্ভুক্ত করার জন্য নিশ্চিত করা যাবে না androidx.customview:customview-poolingcontainer
।
কী এবং কীস্টোরের জন্য বিভিন্ন পাসওয়ার্ড ব্যবহার করার সময় ত্রুটি
সংস্করণ 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++ কোড আছে এমন একটি প্রকল্প স্ক্যান করে, স্ক্যানে প্রথম সাধারণ ডিরেক্টরির নীচের সমস্ত ডিরেক্টরি অন্তর্ভুক্ত থাকে। প্রচুর সংখ্যক ডিরেক্টরি এবং ফাইল স্ক্যান করার ফলে মেমরির ত্রুটি হতে পারে।
এই সমস্যা সম্পর্কে আরও তথ্যের জন্য, সমস্যাটির সাথে যুক্ত বাগ পড়ুন।