অ্যান্ড্রয়েড স্টুডিওতে এমুলেটর চালানো যায় না


97

আমি সবেমাত্র অ্যান্ড্রয়েড স্টুডিও ইনস্টল করে পরীক্ষার জন্য এটি নেওয়ার চেষ্টা করেছি। আমি যখন আমার অ্যাপটি চালানোর চেষ্টা করি তখন আমি নীচের ত্রুটি বার্তাটি পাই

emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is undefined

কেহ এই ঠিক কিভাবে কি জানে????


4
এই উত্তরটি দেখুন stackoverflow.com/questions/9712605/...
Psypher

@ টেড পোটেল, নীচের যে কোনও উত্তর আপনার প্রশ্নের উত্তর দিয়েছে? যদি তা হয় তবে দয়া করে এটির পাশের চেকমার্কটি ক্লিক করুন।
হ্যারিস

উত্তর:


28

এটি সম্ভবত আপনার কোনও সিস্টেমের চিত্র নেই। ডাবল-চেক যা $ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7aবিদ্যমান এবং খালি নয়। যদি তারা সত্যিই অনুপস্থিত থাকে - এসডিকে পরিচালকের সাথে ইনস্টল / পুনরায় ইনস্টল করুন।


4
আমার দুটি সমস্যা আছে: 1: আমি খুঁজে পাচ্ছি না $ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a, 2: এসডিকে ম্যানেজার ব্যবহার করে ভার্চুয়াল ডিভাইসটি কীভাবে পুনরায় ইনস্টল করবেন
মুসা হায়দারি

তবে আপনার উত্তরটি পড়া, আমি একটি কাজ করতে পারি এবং এটি ছিল একটি নতুন ভার্চুয়াল ডিভাইস তৈরি করা এবং
নতুনটির

4
এসডিকে ম্যানেজারের মধ্যে আপনি "প্যাকেজ বিবরণ দেখান" পরীক্ষা করে দেখুন যাতে কোন সিস্টেমের চিত্রগুলি ইনস্টল করা আছে তা আপনি দেখতে পারেন এবং যদি না হয় তবে সেগুলি ইনস্টল করুন
মার্টিন ডেভিস

21

সরঞ্জামগুলিতে যান | অ্যান্ড্রয়েড | এভিডি ম্যানেজার

ডানদিকে কর্ম কলামের নীচে তীরটি ক্লিক করুন (যেখানে ত্রুটির বার্তাটি রয়েছে)

সম্পাদনা নির্বাচন করুন

ডিফল্ট নির্বাচন ছেড়ে দিন (আমার জন্য, এমএনসি x86 অ্যান্ড্রয়েড এম)

পরবর্তী ক্লিক করুন

সমাপ্তি ক্লিক করুন

এটি আপনার এভিডি সংরক্ষণ করে এবং ত্রুটিটি এখন শেষ কলাম থেকে চলে গেছে। এবং এমুলেটর এখন ঠিক কাজ করে।


15

এই ঠিক করা। আশা করি এটি অন্যকে সহায়তা করবে। (অ্যান্ড্রয়েড স্টুডিও ভি 2 এর মতো ইস্যু) এই সমস্যাটি আর্ম ইমুলেটরগুলির জন্য। এই উদাহরণে আমি আরমেবি-ভি 7 এআইপি 16 ব্যবহার করছি

ফিক্সটি তিনটি পদক্ষেপ:

পদক্ষেপ 1: sdk ম্যানেজারটি খুলুন এবং নিশ্চিত করুন যে আপনি এআরএম EABI v7a সিস্টেম চিত্র ইনস্টল করেছেন

পদক্ষেপ 2. এটি সিস্টেম ভেরিয়েবলগুলিতে sdk এর অবস্থান যুক্ত করার সুস্পষ্ট কেস।

তারপরে ডেস্কটপে "এই পিসি" আইকনে রাইট ক্লিক করুন

Properties -> Advanced system settings -> Environment Variables... তারপরে ভেরিয়েবলের নাম ব্যবহার করে সিস্টেম ভেরিয়েবল বিভাগে নতুন হিসাবে এসডিকে পাথ যুক্ত করুন ANDROID_SDK_ROOT

পদক্ষেপ 3. পরিবর্তনগুলি নিবন্ধকরণের জন্য অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন। ANDROID_SDK_ROOTসংজ্ঞাটি অপরিশোধিত সমস্যাটি সংশোধন করার পরে , এমুলেটরটি কার্ডেল ফাইলগুলি সন্ধান করতে পারে না যদিও এটি দেখতে পারে যে এসডিকে পরিচালক এটি ইনস্টল করে ফেলেছে

path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu

কারণটি sdk ম্যানেজার কার্নেল ফাইলটি ইনস্টল করে এবং এমুলেটরটি যে সন্ধান করছে তার অবস্থানের মধ্যে একটি মিশ্রণ।

আপনি যদি নিজের এমুলেটরের জন্য আপনার কনফিগারেশনআই (অ্যান্ড্রয়েড স্টুডিও -> এভিডি ম্যানেজার -> "ডিস্ক প্রদর্শন করুন") খুলেন তবে আপনি নীচের লাইনটি দেখতে পাবেন:

image.sysdir.1=add-ons\addon-google_apis-google-16\images\armeabi-v7a\

(যেমন \ পাথ টু এসডকে k অ্যাড-অনস \ অ্যাডন -২২)

কনফিগার.আই ফাইলটিতে এই মানটি পরিবর্তনের পরিবর্তে আমি অনুলিপি করেছি

path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu

(ফোল্ডার sdk পরিচালক থেকে কার্নেল ফাইল ইনস্টল করা হয়েছে)

প্রতি

\path-to-sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a\

এবং এটি ছিল নিখোঁজ কার্নেল ফাইল। আপনি এমুলেটর চালাতে পারেন। (আপনাকে অ্যান্ড্রয়েড স্টুডিওটি বন্ধ করতে হবে এবং আবারও খুলতে হবে) x86 এর তুলনায় এমুলেটরটি 10x গুণ বেশি ধীর হওয়ার কারণে কিছুটা সময় দিন। (আমার শুরু হতে প্রায় 5 মিনিট সময় লেগেছে)


আহ, 'আপনার এমুলেটর জন্য config.ini' কোথায়?
জয়

অ্যান্ড্রয়েড স্টুডিও -> এভিডি ম্যানেজার -> "ডিস্কে শো করুন"। উত্তর সম্পাদনা করা হচ্ছে।
আসি মুগ্রবি

এই উত্তরটি আসলে আমার পক্ষে কৌশলটি করেছিল, আমার ক্ষেত্রে এটি ছিল আমার সম্পাদিত লাইন:image.sysdir.1=system-images\android-16\default\armeabi-v7a
yvesmancera

এটি আমার জন্য নেক্সাস 4 এমুলেটারের জন্য কৌশলটি করেছে। আপডেটে ছিল image.sysdir.1`সিস্টেম-চিত্র \ অ্যান্ড্রয়েড-15 \ google_apis \ armeabi-v7a`
পল্লব

10

আমি "সি: \ প্রোগ্রাম ফাইলগুলি \ অ্যান্ড্রয়েড \ অ্যান্ড্রয়েড-এসডিকে \ এভিডি ম্যানেজার। এক্স" চালিয়ে এবং আমার ভাঙা ডিভাইসটি মেরামত করে এটি ঠিক করেছি।


5

সংক্ষিপ্ত উত্তর : পুরানো স্কুলটি ব্যবহার করে একই চিত্র তৈরি করার চেষ্টা করুন <AndroidSDK>\AVD Manager.exe

অ্যান্ড্রয়েড স্টুডিওতে কাজ করা, সমস্ত ইন্টিগ্রেটেড সরঞ্জাম চালানো, পুরানো পরিচালকদের (এভিডি / এসডিকে) ব্যবহার না করা আমার পক্ষে স্বাভাবিক হয়ে ওঠে।

আমার ক্ষেত্রে, পুরানো সিস্টেমের চিত্রগুলি (এপিআই 11 এবং নীচে যেমন আমি পরীক্ষা করেছি) দিয়ে ডিভাইস তৈরি করতে নতুন (সংহত) এভিডি ম্যানেজার ব্যবহার করার সময় আমার এই সমস্যা হয়েছিল।

আমি যখন <AndroidSDK>\AVD Manager.exeএই পুরানো ডিভাইস চিত্রগুলি তৈরি করতে পুরানো স্কুল এভিডি ম্যানেজার সরঞ্জামটি (অবস্থিত ) ব্যবহার করার চেষ্টা করেছি তখন আমার সাফল্য হয়েছিল।


4
পরামর্শ দেওয়ার জন্য ধন্যবাদ - মনে হচ্ছে একক সরঞ্জামটি পুরানো প্ল্যাটফর্মগুলির জন্য কীভাবে জিনিসগুলি সেট আপ করতে হয় তা জানে। উপর OS X এর / MacOS: ~/Library/Android/sdk/tools/android avd
নিউরোমার

4

আরে আপনি ঠিক একই সমস্যার সমাধান করেছেন, গুগলের তৃতীয় লিঙ্কটি আমাকে এই বিট কোডটিতে নিয়ে এসেছিল যা ত্রুটি ছুঁড়ে ফেলেছে,

if (kernelFile == NULL) {
        kernelFile = avdInfo_getKernelPath(avd);
        if (kernelFile == NULL) {
            derror( "This AVD's configuration is missing a kernel file!!" );
            const char* sdkRootDir = getenv("ANDROID_SDK_ROOT");
            if (sdkRootDir) {
                derror( "ANDROID_SDK_ROOT is defined (%s) but cannot find kernel file in "
                        "%s" PATH_SEP "system-images" PATH_SEP
                        " sub directories", sdkRootDir, sdkRootDir);
            } else {
                derror( "ANDROID_SDK_ROOT is undefined");
            }
            exit(2);

যে ব্যক্তি লিখেছিল:

"/ * যদি কার্নেল ইমেজের নাম" -armv7 "এ শেষ হয়, তবে সিপিইউ * টাইপ স্বয়ংক্রিয়ভাবে পরিবর্তন করুন This এটি একটি দরিদ্র ব্যক্তির কনফিগারেশন * পরিচালনার পদ্ধতি, তবে আমাদের ডেক্স প্রোপট পাস দিয়ে আর্ম বিল্ডিং এআরএমভি 7 * সিস্টেমের চিত্রগুলি পাওয়ার অনুমতি দেওয়া উচিত "

তাই আমি ফিরে গিয়ে আমার পছন্দসই API স্তরের জন্য x86 ইন্টেল অ্যাটম সংস্করণটি ডাউনলোড করেছিলাম এবং ত্রুটি ছাড়াই এমুলেটরটি পেতে সক্ষম হয়েছি। আশা করি এটি আপনাকেও সাহায্য করবে .....


2

সাধারণত, আপনি যে ধরণের অ্যাপের জন্য বিকাশ করছেন তার জন্য অনুপযুক্ত AVD এমুলেটরের কারণে ত্রুটি ঘটবে। উদাহরণস্বরূপ, যদি আপনি পরিধানযোগ্য একটি অ্যাপ্লিকেশন বিকাশ করছেন তবে আপনি এটি চালানোর জন্য কোনও ফোন এমুলেটর ব্যবহার করার চেষ্টা করছেন।


2

আমারও ত্রুটি ছিল আমার জন্য সমাধানটি ছিল ANDROID_Home পথ পরিবর্তন করা । প্রথমে আমি অ্যান্ড্রয়েড স্টুডিও থেকে সরঞ্জাম-> অ্যান্ড্রয়েড- > এসডিকে পরিচালককে দেখেছিলাম । সেই উইন্ডোতে আমরা অ্যান্ড্রয়েড স্টুডিও যেখানে SDK: চিত্রটির সন্ধান করে সেই পথটি দেখতে পাচ্ছি

তারপরে আমি একটি উইন্ডোজ সিএমডি শেল খুলি, মৃত্যুদন্ড কার্যকর:

echo %ANDROID_HOME%

তবে প্রথম পদক্ষেপের অ্যান্ড্রয়েড স্টুডিও কনফিগারেশনের পথটি আলাদা ছিল।

সমাধানটি হ'ল ব্যবহারকারীর পরিবেশ, এন্ড্রয়েডহোমকে প্রথম পদক্ষেপের একটিতে বদলে দেওয়া: চিত্র

অবশেষে আমি সেমিডি শেলটি বন্ধ করে দিয়েছিলাম এবং কার্যকর করতে অন্য একটি সিএমডি শেলটি খুললাম:

echo %ANDROID_HOME%

পথটি আপডেট করা হয়েছিল এবং আমি আমার এমুলেটরটি পুরোপুরি চালাতে পারি।


1

আমার ক্ষেত্রে (উইন্ডোজ 10) কারণ হ'ল আমি অ্যান্ড্রয়েড এসডিকে নন ডিফল্ট ফোল্ডারে আনজিপ করার সাহস করেছিলাম। আমি যখন এটিকে ডিফল্ট এক সি: / ব্যবহারকারী / [ব্যবহারকারী নাম] / অ্যাপডাটা / লোকাল / অ্যান্ড্রয়েড / এসডিকে স্থানান্তরিত করেছি এবং অ্যান্ড্রয়েড স্টুডিও এবং সিস্টেম ভেরিয়েবলগুলিতে পাথগুলি পরিবর্তন করেছি তখন এটি কাজ শুরু করে।


1
  • Android স্টুডিও খুলুন।
  • সেটিং> সিস্টেম সেটিং> অ্যান্ড্রয়েড এসডিকে যান
  • "অ্যান্ড্রয়েড এসডিকে অবস্থান" পান।
  • এই মানটিতে পরিবেশের পরিবর্তনশীল ANDROID_SDK_ROOT সেট করুন।

এটি আমার পক্ষে কাজ করেছে এবং আমি উইন্ডোজ 10 এবং অ্যান্ড্রয়েড স্টুডিওতে 2.3.3 এ আছি


1
  1. "সিস্টেম পরিবেশের ভেরিয়েবলগুলি সম্পাদনা করুন" এ যান।
  2. নতুন বোতামে ক্লিক করুন এবং ভেরিয়েবল নামে "ANDROID_SDK_ROOT" লিখুন এবং ভেরিয়েবল মানটিতে অ্যান্ড্রয়েড sdk পূর্ণ পথ প্রবেশ করুন। ঠিক আছে এবং ক্লিক করুন।
  3. রিফ্রেশ
  4. এটি ত্রুটির সমাধান করবে।

-1

এই সমস্যাটি সমাধান করার জন্য অনুসরণ করার জন্য একটি সাধারণ পদ্ধতি।

1. আপনার অ্যান্ড্রয়েড স্টুডিও থেকে চালিয়ে আপনার এসডিকে ম্যানেজারটি দেখুন এবং এক্সিকিউট করার ./android.shমাধ্যমে স্টোন অ্যালোনস এসডিকে ফোল্ডারটি ভাঙ্গা প্যাকেজগুলি খুঁজে পেতে আপনাকে সহায়তা করে

  1. ইন্টেলের চেয়ে গুগল এপিআই সমর্থন সহ সিস্টেম এমুলেটর চিত্রগুলি ইনস্টল করার চেষ্টা করুন। ঠিক যেমন, আমি অন্য সিস্টেমের চিত্রে চলে এসে আমার সমস্যার সমাধান করেছি।

  2. গুগল লিনাক্স দ্বারা প্রস্তাবিত কেভিএম ভিত্তিক ভার্চুয়ালাইজেশন উপর অভিজ্ঞতা

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.