64-বিট আর্কিটেকচার সমর্থন করে

{% যদি dynamic_data.request.is_prod %} {% setvar lorry_URL_root %}https://dl.google.com{% endsetvar %} {% অন্য %} {% setvar lorry_URL_root %}https://lorry-staging-payloadserver.corp.google.com{% endsetvar %} {% যদি শেষ %}

গুগল প্লে-তে প্রকাশিত অ্যাপগুলোকে ৬৪-বিট আর্কিটেকচার সমর্থন করতে হয়। আপনার অ্যাপের একটি ৬৪-বিট সংস্করণ যোগ করলে এর পারফরম্যান্স উন্নত হয় এবং এটি শুধুমাত্র ৬৪-বিট হার্ডওয়্যারযুক্ত ডিভাইসগুলোর জন্য আপনাকে প্রস্তুত করে তোলে।

নিম্নলিখিত ধাপগুলো নিশ্চিত করে যে আপনার ৩২-বিট অ্যাপটি ৬৪-বিট ডিভাইস সমর্থন করে।

আপনার অ্যাপ মূল্যায়ন করুন

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

দ্রুত অবস্থা যাচাই

প্লে কনসোলে গিয়ে বিদ্যমান রিলিজগুলো সামঞ্জস্যপূর্ণ কিনা তা দেখে নিন।

৬৪-বিট আবশ্যকতা সম্পর্কিত কোনো সমস্যা থাকলে, প্লে কনসোল আপনার ড্রাফট রিলিজের জন্য সতর্কবার্তাও দেখায়। নিচের ছবিটি এর একটি উদাহরণ।

যদি কোনো সতর্কতা প্রদর্শিত হয়, তাহলে আপনার অ্যাপটিকে ৬৪-বিট ডিভাইসের সঙ্গে সামঞ্জস্যপূর্ণ করতে নিম্নলিখিত ধাপগুলো অনুসরণ করুন।

আপনার অ্যাপ কি নেটিভ কোড ব্যবহার করে?

আপনার অ্যাপটি নেটিভ কোড ব্যবহার করে যদি এটি:

  • আপনার অ্যাপে যেকোনো C/C++ (নেটিভ) কোড ব্যবহার করে।
  • যেকোনো তৃতীয় পক্ষের নেটিভ লাইব্রেরির সাথে সংযোগ।
  • এটি একটি থার্ড-পার্টি অ্যাপ বিল্ডার দ্বারা নির্মিত যা নেটিভ লাইব্রেরি ব্যবহার করে।

আপনার অ্যাপে কি ৬৪-বিট লাইব্রেরি অন্তর্ভুক্ত আছে?

আপনার APK ফাইলের গঠন পরীক্ষা করুন। বিল্ড করার সময়, APK ফাইলটির সাথে অ্যাপটির জন্য প্রয়োজনীয় নেটিভ লাইব্রেরিগুলো প্যাকেজ করা থাকে। নেটিভ লাইব্রেরিগুলো ABI-এর উপর ভিত্তি করে বিভিন্ন ফোল্ডারে সংরক্ষিত থাকে। প্রতিটি ৬৪-বিট আর্কিটেকচার সমর্থন করা বাধ্যতামূলক নয়, কিন্তু আপনি যে প্রতিটি নেটিভ ৩২-বিট আর্কিটেকচার সমর্থন করেন, তার জন্য আপনাকে অবশ্যই সংশ্লিষ্ট ৬৪-বিট আর্কিটেকচারটি অন্তর্ভুক্ত করতে হবে।

ARM আর্কিটেকচারের জন্য, ৩২-বিট লাইব্রেরিগুলো armeabi-v7a- তে অবস্থিত। এর ৬৪-বিট সমতুল্য হলো arm64-v8a

x86 আর্কিটেকচারের ক্ষেত্রে, ৩২-বিটের জন্য x86 এবং ৬৪-বিটের জন্য x86_64 খুঁজুন।

নিশ্চিত করুন যে এই দুটি ফোল্ডারেই নেটিভ লাইব্রেরিগুলো রয়েছে। সংক্ষেপে বলতে গেলে:

প্ল্যাটফর্ম ৩২-বিট লাইব্রেরি ফোল্ডার ৬৪-বিট লাইব্রেরি ফোল্ডার
এআরএম lib/armeabi-v7a lib/arm64-v8a
x86 lib/x86 lib/x86_64

মনে রাখবেন যে, আপনার অ্যাপের উপর নির্ভর করে প্রতিটি ফোল্ডারে লাইব্রেরির সেট হুবহু একই নাও থাকতে পারে। এর উদ্দেশ্য হলো, আপনার অ্যাপটি যেন শুধুমাত্র ৬৪-বিট পরিবেশে সঠিকভাবে চলে তা নিশ্চিত করা।

সাধারণত, ৩২-বিট এবং ৬৪-বিট উভয় আর্কিটেকচারের জন্য তৈরি একটি APK বা বান্ডেলে উভয় ABI-এর জন্য ফোল্ডার থাকে, এবং প্রতিটির মধ্যে সংশ্লিষ্ট নেটিভ লাইব্রেরির সেট থাকে। যদি ৬৪-বিটের জন্য কোনো সাপোর্ট না থাকে, তাহলে আপনি একটি ৩২-বিট ABI ফোল্ডার দেখতে পারেন, কিন্তু কোনো ৬৪-বিট ফোল্ডার দেখতে পাবেন না।

APK অ্যানালাইজার ব্যবহার করে নেটিভ লাইব্রেরিগুলি খুঁজুন

এপিকে অ্যানালাইজার এমন একটি টুল যা দিয়ে একটি বিল্ড করা এপিকে-র বিভিন্ন দিক মূল্যায়ন করা যায়। যেকোনো নেটিভ লাইব্রেরি খুঁজে বের করতে এবং ৬৪-বিট লাইব্রেরিগুলো উপস্থিত আছে কিনা তা নিশ্চিত করতে এটি ব্যবহার করুন।

  1. অ্যান্ড্রয়েড স্টুডিও খুলুন এবং যেকোনো একটি প্রজেক্ট খুলুন
  2. মেনু থেকে, Build > Analyze APK … নির্বাচন করুন।

    এপিকে অ্যানালাইজার চালু করুন

  3. যে APK-টি আপনি মূল্যায়ন করতে চান, সেটি বেছে নিন।

  4. lib ফোল্ডারের ভেতরে দেখুন, যেখানে কোনো '.so' ফাইল থাকলে সেগুলো থাকে। যদি সেখানে কোনো ফাইল না থাকে, তাহলে আপনার অ্যাপটি ৬৪-বিট ডিভাইস সমর্থন করে এবং আর কোনো পদক্ষেপের প্রয়োজন নেই। যদি আপনি armeabi-v7a বা x86 দেখতে পান, তাহলে আপনার লাইব্রেরিগুলো ৩২-বিটের।

  5. arm64-v8a অথবা x86_64 ফোল্ডারে আপনার একই ধরনের '.so' ফাইল আছে কিনা তা পরীক্ষা করে দেখুন।

    এপিকে অ্যানালাইজার চালু করুন

  6. আপনার যদি arm64-v8a বা x86_64 লাইব্রেরি না থাকে, তাহলে আপনার APK-তে সেই আর্টিফ্যাক্টগুলো বিল্ড ও প্যাকেজ করা শুরু করার জন্য আপনার বিল্ড প্রসেসটি আপডেট করুন।

  7. যদি আপনি ইতিমধ্যেই উভয় লাইব্রেরি প্যাকেজ করা দেখতে পান, তাহলে আপনি সরাসরি ৬৪-বিট হার্ডওয়্যারে আপনার অ্যাপ পরীক্ষা করার ধাপে চলে যেতে পারেন।

APK আনজিপ করে নেটিভ লাইব্রেরিগুলো খুঁজুন।

APK ফাইলগুলো zip ফাইলের মতো করে তৈরি করা হয়। কমান্ড লাইন বা অন্য কোনো এক্সট্র্যাকশন টুল ব্যবহার করে APK ফাইলটি এক্সট্র্যাক্ট করুন। আপনার এক্সট্র্যাকশন টুলের ওপর নির্ভর করে, ফাইলটির নাম পরিবর্তন করে .zip করতে হতে পারে।

আপনার অ্যাপটি ৬৪-বিট ডিভাইস সমর্থন করে কিনা তা নির্ধারণ করতে, উপরের নির্দেশনা অনুসরণ করে এক্সট্র্যাক্ট করা ফাইলগুলো ব্রাউজ করুন। আপনি কমান্ড লাইন থেকে নিম্নলিখিত কমান্ড উদাহরণটি চালাতে পারেন:

:: Command Line
> zipinfo -1 YOUR_APK_FILE.apk | grep \.so$
lib/armeabi-v7a/libmain.so
lib/armeabi-v7a/libmono.so
lib/armeabi-v7a/libunity.so
lib/arm64-v8a/libmain.so
lib/arm64-v8a/libmono.so
lib/arm64-v8a/libunity.so

এই উদাহরণে armeabi-v7a এবং arm64-v8a লাইব্রেরির উপস্থিতি লক্ষ্য করুন, যার অর্থ অ্যাপটি ৬৪-বিট আর্কিটেকচার সমর্থন করে।

৬৪-বিট লাইব্রেরি ব্যবহার করে আপনার অ্যাপ তৈরি করুন

নিম্নলিখিত নির্দেশাবলীতে ৬৪-বিট লাইব্রেরি তৈরির পদ্ধতি বর্ণনা করা হয়েছে। উল্লেখ্য যে, এই ধাপগুলো শুধুমাত্র সেইসব কোড এবং লাইব্রেরি তৈরির ক্ষেত্রেই প্রযোজ্য যা সোর্স থেকে বিল্ড করা সম্ভব।

অ্যান্ড্রয়েড স্টুডিও বা গ্রেডল দিয়ে বিল্ড করুন

বেশিরভাগ অ্যান্ড্রয়েড স্টুডিও প্রজেক্টে অন্তর্নিহিত বিল্ড সিস্টেম হিসেবে গ্রেডল (Gradle) ব্যবহৃত হয়, তাই এই অংশটি উভয় ক্ষেত্রেই প্রযোজ্য। আপনার নেটিভ কোডের জন্য বিল্ড চালু করতে, আপনি যে আর্কিটেকচারগুলো সমর্থন করতে চান তার উপর নির্ভর করে আপনার অ্যাপের 'build.gradle' ফাইলের ndk.abiFilters সেটিং-এ arm64-v8a এবং/অথবা x86_64 যোগ করুন:

গ্রুভি

// Your app's build.gradle
plugins {
  id 'com.android.app'
}

android {
   compileSdkVersion 27
   defaultConfig {
       appId "com.google.example.64bit"
       minSdkVersion 15
       targetSdkVersion 28
       versionCode 1
       versionName "1.0"
       ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
// ...

কোটলিন

// Your app's build.gradle
plugins {
    id("com.android.app")
}

android {
    compileSdkVersion(27)
    defaultConfig {
        appId = "com.google.example.64bit"
        minSdkVersion(15)
        targetSdkVersion(28)
        versionCode = 1
        versionName = "1.0"
        ndk {
            abiFilters += listOf("armeabi-v7a","arm64-v8a","x86","x86_64")
        }
// ...

CMake দিয়ে বিল্ড করুন

আপনার অ্যাপটি যদি CMake ব্যবহার করে বিল্ড করা হয়ে থাকে, তাহলে '-DANDROID_ABI' প্যারামিটারে arm64-v8a পাস করে আপনি ৬৪-বিট ABI-এর জন্য বিল্ড করতে পারেন:

:: Command Line
> cmake -DANDROID_ABI=arm64-v8a … or
> cmake -DANDROID_ABI=x86_64 …

ndk-build দিয়ে বিল্ড করুন

আপনার অ্যাপটি যদি ndk-build দিয়ে তৈরি করা হয়ে থাকে, তাহলে 'Application.mk' ফাইলটিতে APP_ABI ভেরিয়েবলটি ব্যবহার করে পরিবর্তন করার মাধ্যমে আপনি ৬৪-বিট ABI-এর জন্য বিল্ড করতে পারেন:

APP_ABI := armeabi-v7a arm64-v8a x86 x86_64

৩২-বিট কোডকে ৬৪-বিটে পোর্ট করুন

আপনার কোড যদি ইতিমধ্যেই ডেস্কটপ বা iOS-এ চলে, তাহলে Android-এর জন্য আপনার কোনো অতিরিক্ত কাজ করার প্রয়োজন হবে না। যদি আপনার কোড প্রথমবারের মতো কোনো 64-বিট সিস্টেমের জন্য বিল্ড করা হয়ে থাকে, তাহলে আপনাকে যে প্রধান সমস্যাটির সমাধান করতে হবে তা হলো, পয়েন্টারগুলো int মতো 32-বিট ইন্টিজার টাইপের মধ্যে ফিট করে না।

int , unsigned , বা uint32_t মতো টাইপে পয়েন্টার সংরক্ষণ করে এমন কোড আপডেট করুন। ইউনিক্স সিস্টেমে, long পয়েন্টারের আকারের সমান হয়, কিন্তু উইন্ডোজে এটি সত্যি নয়। এর পরিবর্তে, uintptr_t বা intptr_t মতো ইনটেনশন-রিভিলিং টাইপগুলো ব্যবহার করুন। দুটি পয়েন্টারের মধ্যকার পার্থক্য সংরক্ষণ করতে, ptrdiff_t টাইপটি ব্যবহার করুন।

এমনকি নন-পয়েন্টারের ক্ষেত্রেও, int বা long মতো অনির্দিষ্ট প্রস্থের টাইপের পরিবর্তে আপনার সর্বদা <stdint.h> এ সংজ্ঞায়িত নির্দিষ্ট, স্থির-প্রস্থের ইন্টিজার টাইপগুলিকেই অগ্রাধিকার দেওয়া উচিত।

আপনার কোডে পয়েন্টার এবং ইন্টিজারের মধ্যে ভুল রূপান্তর ঘটলে, তা শনাক্ত করতে নিম্নলিখিত কম্পাইলার ফ্ল্যাগগুলো ব্যবহার করুন:

-Werror=pointer-to-int-cast
-Werror=int-to-pointer-cast
-Werror=shorten-64-to-32

যেসব জাভা ক্লাসের int ফিল্ডে C/C++ অবজেক্টের পয়েন্টার থাকে, সেগুলোতেও একই সমস্যা দেখা দেয়। আপনার JNI সোর্সে jint খুঁজে দেখুন এবং নিশ্চিত করুন যে আপনি জাভা সাইডে long এবং C++ সাইডে jlong ​​ব্যবহার করছেন।

৬৪-বিট কোডের জন্য ইমপ্লিসিট ফাংশন ডিক্লারেশন অনেক বেশি বিপজ্জনক। C/C++ ধরে নেয় যে, একটি ইমপ্লিসিটলি ডিক্লেয়ার্ড ফাংশনের (অর্থাৎ, এমন একটি ফাংশন যার কোনো ডিক্লারেশন কম্পাইলার দেখেনি) রিটার্ন টাইপ হলো int । যদি আপনার ফাংশনের আসল রিটার্ন টাইপ একটি পয়েন্টার হয়, তবে এটি ৩২-বিট সিস্টেমে ঠিকঠাক কাজ করে, যেখানে আপনার পয়েন্টারটি একটি int-এর মধ্যে এঁটে যায়। কিন্তু, একটি ৬৪-বিট সিস্টেমে, কম্পাইলার আপনার পয়েন্টারের উপরের অর্ধেকটি বাদ দিয়ে দেয়। উদাহরণস্বরূপ:

// This function returns a pointer:
// extern char* foo();

// If you don't include a header that declares it,
// when the compiler sees this:
char* result = foo();

// Instead of compiling that to:
result = foo();

// It compiles to something equivalent to:
result = foo() & 0xffffffff;

// Which will then cause a SIGSEGV if you try to dereference `result`.

নিম্নলিখিত কম্পাইলার ফ্ল্যাগটি অন্তর্নিহিত ফাংশন ঘোষণার সতর্কতাগুলিকে ত্রুটিতে পরিণত করে, যাতে আপনি এই সমস্যাটি আরও সহজে খুঁজে বের করতে এবং সমাধান করতে পারেন:

-Werror=implicit-function-declaration

আপনার যদি ইনলাইন অ্যাসেম্বলার থাকে, তবে সেটি নতুন করে লিখুন অথবা একটি সাধারণ C/C++ ইমপ্লিমেন্টেশন ব্যবহার করুন।

যদি আপনি টাইপের সাইজ হার্ড-কোড করে থাকেন (যেমন, ৮ বা ১৬ বাইট), তাহলে সেগুলোকে সমতুল্য sizeof(T) এক্সপ্রেশন, যেমন sizeof(void*) দিয়ে প্রতিস্থাপন করুন।

যদি আপনাকে শর্তসাপেক্ষে 64-বিটের চেয়ে 32-বিটের জন্য আলাদা কোড কম্পাইল করতে হয়, তাহলে আপনি সাধারণ 32/64 পার্থক্যের জন্য #if defined(__LP64__) ব্যবহার করতে পারেন, অথবা অ্যান্ড্রয়েড দ্বারা সমর্থিত নির্দিষ্ট আর্কিটেকচারের জন্য __arm__ , __aarch64__ (arm64), __i386__ (x86), এবং __x86_64__ ব্যবহার করতে পারেন।

printf বা scanf মতো ফাংশনগুলির জন্য ফরম্যাট স্ট্রিং সামঞ্জস্য করুন, কারণ প্রচলিত ফরম্যাট স্পেসিফায়ারগুলি আপনাকে এমনভাবে ৬৪-বিট টাইপ নির্দিষ্ট করার সুযোগ দেয় না যা ৩২-বিট এবং ৬৪-বিট উভয় ডিভাইসের জন্যই সঠিক। <inttypes.h> ফাইলের PRI এবং SCN ম্যাক্রো এই সমস্যার সমাধান করে; হেক্স পয়েন্টার লেখা ও পড়ার জন্য PRIxPTRSCNxPTR এবং পোর্টেবলভাবে ৬৪-বিট ভ্যালু লেখা ও পড়ার জন্য PRId64SCNd64 ব্যবহৃত হয়।

শিফট করার সময়, ৩২-বিটের 1 ব্যবহার না করে, ৬৪-বিটের একটি কনস্ট্যান্ট শিফট করার জন্য আপনার 1ULL ব্যবহার করার প্রয়োজন হতে পারে।

অ্যান্ড্রয়েড অ্যাপ বান্ডেলের মাধ্যমে ফাইলের আকার বৃদ্ধি হ্রাস করুন।

আপনার অ্যাপে ৬৪-বিট আর্কিটেকচার সাপোর্ট যোগ করলে আপনার APK ফাইলের সাইজ বেড়ে যেতে পারে। একই APK-তে ৩২-বিট এবং ৬৪-বিট নেটিভ কোড উভয়ই অন্তর্ভুক্ত করার ফলে সাইজের উপর যে প্রভাব পড়ে, তা কমানোর জন্য আমরা অ্যান্ড্রয়েড অ্যাপ বান্ডেল (Android App Bundle) ফিচারটি ব্যবহার করার জন্য দৃঢ়ভাবে সুপারিশ করছি।

গেম ডেভেলপাররা

সর্বাধিক ব্যবহৃত তিনটি ইঞ্জিন ৬৪-বিট সমর্থন করে:

  • ২০১৫ সাল থেকে অবাস্তব
  • কোকোস২ডি ২০১৫ সাল থেকে
  • ২০১৮ সাল থেকে ঐক্য

ইউনিটি ডেভেলপাররা

সক্ষম সংস্করণগুলিতে আপগ্রেড করুন

ইউনিটি 2018.2 এবং 2017.4.16 ভার্সনগুলোতে 64-বিট সাপোর্ট প্রদান করে।

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

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

ইউনিটি সংস্করণ সংস্করণটি কি ৬৪-বিট সমর্থন করে? সুপারিশকৃত কর্মপন্থা

২০২০.x

✔️

আপনার বিল্ড সেটিংস যেন ৬৪-বিট লাইব্রেরি আউটপুট করে, তা নিশ্চিত করুন।

২০১৯.x

✔️

আপনার বিল্ড সেটিংস যেন ৬৪-বিট লাইব্রেরি আউটপুট করে, তা নিশ্চিত করুন।

২০১৮.৪ (এলটিএস)

✔️

আপনার বিল্ড সেটিংস যেন ৬৪-বিট লাইব্রেরি আউটপুট করে, তা নিশ্চিত করুন।

২০১৮.৩

✔️

আপনার বিল্ড সেটিংস যেন ৬৪-বিট লাইব্রেরি আউটপুট করে, তা নিশ্চিত করুন।

২০১৮.২

✔️

আপনার বিল্ড সেটিংস যেন ৬৪-বিট লাইব্রেরি আউটপুট করে, তা নিশ্চিত করুন।

২০১৮.১

পরীক্ষামূলকভাবে ৬৪-বিট সমর্থন রয়েছে।

২০১৭.৪ (এলটিএস)

✔️

২০১৭ সালের ১৬ই এপ্রিল থেকে সমর্থিত। আপনার বিল্ড সেটিংসে যেন ৬৪-বিট লাইব্রেরি আউটপুট হয়, তা নিশ্চিত করুন।

২০১৭.৩

✖️

৬৪-বিট সমর্থন করে এমন সংস্করণে আপগ্রেড করুন।

২০১৭.২

✖️

৬৪-বিট সমর্থন করে এমন সংস্করণে আপগ্রেড করুন।

২০১৭.১

✖️

৬৪-বিট সমর্থন করে এমন সংস্করণে আপগ্রেড করুন।

<=৫.৬

✖️

৬৪-বিট সমর্থন করে এমন সংস্করণে আপগ্রেড করুন।

৬৪-বিট লাইব্রেরি আউটপুট করার জন্য বিল্ড সেটিংস পরিবর্তন করুন।

আপনি যদি ইউনিটির এমন কোনো সংস্করণ ব্যবহার করেন যা ৬৪-বিট অ্যান্ড্রয়েড লাইব্রেরি সমর্থন করে, তাহলে আপনার বিল্ড সেটিংস পরিবর্তন করে আপনার অ্যাপের একটি ৬৪-বিট সংস্করণ তৈরি করতে পারেন। আপনার স্ক্রিপ্টিং ব্যাকএন্ড হিসেবে IL2CPP ব্যাকএন্ড ব্যবহার করুন। আপনার ইউনিটি প্রজেক্টকে ৬৪-বিট আর্কিটেকচারে বিল্ড করার জন্য সেট আপ করতে, নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:

  1. বিল্ড সেটিংসে যান এবং প্ল্যাটফর্মের অধীনে অ্যান্ড্রয়েডের পাশে ইউনিটি প্রতীকটি আছে কিনা তা যাচাই করে নিশ্চিত করুন যে আপনি অ্যান্ড্রয়েডের জন্য বিল্ড করছেন। ১. যদি অ্যান্ড্রয়েড প্ল্যাটফর্মের পাশে ইউনিটি প্রতীকটি না থাকে, তাহলে অ্যান্ড্রয়েড নির্বাচন করুন এবং সুইচ প্ল্যাটফর্মে ক্লিক করুন।
  2. প্লেয়ার সেটিংসে ক্লিক করুন।

    ইউনিটিতে প্লেয়ার সেটিংস

  3. প্লেয়ার সেটিংস প্যানেল > অ্যান্ড্রয়েডের জন্য সেটিংস > অন্যান্য সেটিংস > কনফিগারেশন- এ যান

  4. স্ক্রিপ্টিং ব্যাকএন্ড IL2CPP-তে সেট করুন।

  5. টার্গেট আর্কিটেকচার > ARM64 চেকবক্সটি নির্বাচন করুন।

    ইউনিটিতে টার্গেট আর্কিটেকচার সেট করুন

  6. স্বাভাবিকভাবে তৈরি করুন!

মনে রাখবেন যে, ARM64-এর জন্য বিল্ড করতে হলে আপনার সমস্ত অ্যাসেট অবশ্যই সেই প্ল্যাটফর্মের জন্য বিশেষভাবে তৈরি করতে হবে। APK-এর আকার কমানোর জন্য ইউনিটির নির্দেশিকা অনুসরণ করুন, এবং আকারের এই বৃদ্ধি প্রশমিত করতে অ্যান্ড্রয়েড অ্যাপ বান্ডেল ফিচারটির সুবিধা নেওয়ার কথা বিবেচনা করুন।

মাল্টি-এপিকে এবং ৬৪-বিট সামঞ্জস্যতা

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

যদি আপনার কোনো একটি APK-কে অসামঞ্জস্যপূর্ণ হিসেবে চিহ্নিত করা হয়, কিন্তু সেটি একটি পুরোনো সংস্করণ হওয়ায় সেটিকে সামঞ্জস্যপূর্ণ করা সম্ভব না হয়, তাহলে একটি উপায় হলো সেই APK-টির ম্যানিফেস্টের uses-sdk এলিমেন্টে maxSdkVersion="27" অ্যাট্রিবিউটটি যোগ করা। এই APK-টি Android 9 Pie বা তার পরবর্তী সংস্করণে চালিত ডিভাইসগুলোতে সরবরাহ করা হয় না এবং এটি আর সামঞ্জস্যে বাধা দেয় না।

রেন্ডারস্ক্রিপ্ট এবং ৬৪-বিট সম্মতি

যদি আপনার অ্যাপ RenderScript ব্যবহার করে এবং অ্যান্ড্রয়েড টুলসের পুরোনো কোনো সংস্করণ দিয়ে তৈরি করা হয়ে থাকে, তাহলে আপনি অ্যাপটিতে ৬৪-বিট কমপ্লায়েন্স সংক্রান্ত সমস্যা দেখতে পারেন। ২১.০.০-এর আগের বিল্ড টুলস ব্যবহার করলে, কম্পাইলার একটি এক্সটার্নাল .bc ফাইলে বিটকোড তৈরি করতে পারে। এই পুরোনো .bc ফাইলগুলো ৬৪-বিট আর্কিটেকচারের জন্য আর সমর্থিত নয়, তাই আপনার APK-তে এই ফাইলটির উপস্থিতিই কমপ্লায়েন্স সংক্রান্ত সমস্যার কারণ হয়ে দাঁড়ায়।

সমস্যাটি সমাধান করতে, আপনার প্রজেক্ট থেকে যেকোনো .bc ফাইল মুছে ফেলুন, আপনার এনভায়রনমেন্ট build-tools-21.0.0 বা তার পরবর্তী সংস্করণে আপগ্রেড করুন, এবং Android Studio-তে renderscriptTargetApi কে 21+ এ সেট করুন, যাতে কম্পাইলার .bc ফাইল তৈরি না করে। এরপর, আপনার অ্যাপটি রি-বিল্ড করুন, .bc ফাইলের জন্য ইনসপেক্ট করুন, এবং প্লে কনসোলে আপলোড করুন।

আপনার অ্যাপটি ৬৪-বিট হার্ডওয়্যারে পরীক্ষা করুন

আপনার অ্যাপের ৬৪-বিট সংস্করণে ৩২-বিট সংস্করণের মতোই একই গুণমান এবং বৈশিষ্ট্য থাকা উচিত। আপনার অ্যাপটি পরীক্ষা করে নিশ্চিত করুন যে, সর্বশেষ ৬৪-বিট ডিভাইসের ব্যবহারকারীরা অ্যাপটিতে একটি চমৎকার অভিজ্ঞতা লাভ করেন।

শুধুমাত্র ৬৪-বিট ডিভাইস

যখনই সম্ভব, আমরা নিম্নলিখিত বিকল্পগুলির মধ্যে একটি ব্যবহার করে আপনার অ্যাপটি একটি কঠোর ৬৪-বিট-ভিত্তিক পরিবেশে পরীক্ষা করার পরামর্শ দিই:

শুধুমাত্র ৬৪-বিট সিস্টেম ইমেজ সহ গুগল পিক্সেল

অ্যাপ ডেভেলপমেন্ট এবং টেস্টিং সহজ করার জন্য, আমরা কিছু পিক্সেল ডিভাইসের জন্য কঠোরভাবে শুধুমাত্র ৬৪-বিট এনভায়রনমেন্ট সহ বিশেষ সিস্টেম ইমেজ সরবরাহ করেছি। এই ৬৪-বিট ইমেজগুলো মূলত অ্যান্ড্রয়েড ১৩ এবং ১৪ প্রিভিউ রিলিজের জন্য স্ট্যান্ডার্ড ফ্যাক্টরি সিস্টেম ইমেজের সাথে একযোগে সরবরাহ করা হয়েছিল, কিন্তু আপনি আপনার অ্যাপের ৬৪-বিট সামঞ্জস্যতা পরীক্ষা করার সময় এগুলো ব্যবহার করা চালিয়ে যেতে পারেন।

একটি শুধুমাত্র ৬৪-বিট ইমেজ নিন

ফ্যাক্টরি সিস্টেম ইমেজের মতোই, আপনি অ্যান্ড্রয়েড ফ্ল্যাশ টুল ব্যবহার করে অথবা নিম্নলিখিত বিভাগগুলিতে বর্ণিত পদ্ধতি অনুসারে আপনার ডিভাইসটি ম্যানুয়ালি ফ্ল্যাশ করে একটি শুধুমাত্র ৬৪-বিটের ইমেজ ফ্ল্যাশ করতে পারেন।

অ্যান্ড্রয়েড ফ্ল্যাশ টুল ব্যবহার করে আপনার ডিভাইসটি ফ্ল্যাশ করুন

অ্যান্ড্রয়েড ফ্ল্যাশ টুল আপনাকে আপনার সমর্থিত পিক্সেল ডিভাইসে নিরাপদে একটি সিস্টেম ইমেজ ফ্ল্যাশ করতে দেয়। অ্যান্ড্রয়েড ফ্ল্যাশ টুল যেকোনো ওয়েব ব্রাউজারের সাথে কাজ করে যা ওয়েবইউএসবি (WebUSB) সমর্থন করে, যেমন ক্রোম বা এজ ৭৯+।

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

আপনার ডিভাইসটি USB-এর মাধ্যমে সংযুক্ত করুন, তারপর, আপনি যে ধরনের সিস্টেম ইমেজ ফ্ল্যাশ করতে চান তার উপর নির্ভর করে, নিচের লিঙ্কগুলোর মধ্যে একটি ব্যবহার করে Android Flash Tool-এ যান এবং স্ক্রিনে দেওয়া নির্দেশনা অনুসরণ করুন:

আপনার ডিভাইসটি ম্যানুয়ালি ফ্ল্যাশ করুন

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

আপনার ডিভাইসের ডেটা ব্যাক আপ করার পর এবং উপযুক্ত সিস্টেম ইমেজ ডাউনলোড করার পরে, আপনি আপনার ডিভাইসে ইমেজটি ফ্ল্যাশ করতে পারবেন।

আপনি যেকোনো সময় সর্বশেষ পাবলিক বিল্ডে ফিরে যেতে পারেন।

অ্যান্ড্রয়েড ১৪ (বিটা ৫.৩)-এর জন্য শুধুমাত্র ৬৪-বিট ফ্যাক্টরি ইমেজ

এই ইমেজগুলো ৬৪-বিট অ্যাপের সামঞ্জস্যতা পরীক্ষার জন্য একটি কঠোরভাবে শুধুমাত্র ৬৪-বিট পরিবেশ প্রদান করে। এই ৬৪-বিট-ভিত্তিক কনফিগারেশনগুলো শুধুমাত্র ডেভেলপারদের ব্যবহারের জন্য।

ডিভাইস ডাউনলোড লিঙ্ক SHA-256 চেকসাম
পিক্সেল 4a (5G) 7e6731fab811ae389f5ff882d5c5a2b8b942b8363b22bbcc038b39d7c539e60a
পিক্সেল ৫ c4da6a19086a02f2cd2fa7a4054e870916954b8e5a61e9a07ee942c537e4b45a
পিক্সেল ৬ 98943384284cbc7323b8867d84c36151757f67ae7633012fb69cb5d6bec2b554
পিক্সেল ৬ প্রো 67ec40be5bd05a40fa5dabc1ce6795aae75d1904193d52e2da00425ed7cb895b
অ্যান্ড্রয়েড ১৩-এর জন্য শুধুমাত্র ৬৪-বিট ফ্যাক্টরি ইমেজ (কিউপিআর৩ বিটা ৩.২)

এই ইমেজগুলো ৬৪-বিট অ্যাপের সামঞ্জস্যতা পরীক্ষার জন্য একটি কঠোরভাবে শুধুমাত্র ৬৪-বিট পরিবেশ প্রদান করে। এই ৬৪-বিট-ভিত্তিক কনফিগারেশনগুলো শুধুমাত্র ডেভেলপারদের ব্যবহারের জন্য।

ডিভাইস ডাউনলোড লিঙ্ক SHA-256 চেকসাম
পিক্সেল 4a (5G) b4be40924f62c3c2b3ed20a9f7fa4303aa9c39649d778eb96f86c867fe3ae59a
পিক্সেল ৫ 6e5e027a4f64f9f786db9bb69d50d1a551c3f6aad893ae450e1f8279ea1b761a
পিক্সেল ৬ becb9b81a5bddad67a4ac32d30a50dcb372b9d083cb7c046e5180510e479a0b8
পিক্সেল ৬ প্রো b0ef544ed2312ac44dc827f24999281b147c11d76356c2d06b2c57a191c60480
একটি পাবলিক বিল্ডে ফিরে যান

আপনি অ্যান্ড্রয়েড ফ্ল্যাশ টুল ব্যবহার করে ফ্যাক্টরি ইমেজ ফ্ল্যাশ করতে পারেন, অথবা 'নেক্সাস এবং পিক্সেল ডিভাইসের জন্য ফ্যাক্টরি ইমেজ' পৃষ্ঠা থেকে ফ্যাক্টরি স্পেক সিস্টেম ইমেজ সংগ্রহ করে ডিভাইসটিতে ম্যানুয়ালি ফ্ল্যাশ করতে পারেন।

অ্যান্ড্রয়েড এমুলেটর

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) থেকে অ্যান্ড্রয়েড এমুলেটর সিস্টেম ইমেজগুলো শুধুমাত্র ৬৪-বিটের হয়ে থাকে। অ্যাপ পরীক্ষার জন্য একটি সম্পূর্ণ ৬৪-বিট-ভিত্তিক পরিবেশ পেতে অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণের সিস্টেম ইমেজ ব্যবহার করে একটি অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) তৈরি করুন।

অন্যান্য ডিভাইস বিকল্প

আপনার কাছে যদি এই ডিভাইসগুলোর কোনোটি না থাকে অথবা আপনি অ্যান্ড্রয়েড এমুলেটর ব্যবহার করতে না পারেন, তাহলে আপনার জন্য পরবর্তী সেরা বিকল্প হলো একটি ৬৪-বিট সক্ষম ডিভাইস ব্যবহার করা, যেমন গুগল পিক্সেল বা অন্যান্য ডিভাইস প্রস্তুতকারকদের তৈরি সাম্প্রতিক ফ্ল্যাগশিপ ডিভাইসগুলো।

আপনার অ্যাপটি ইনস্টল ও পরীক্ষা করুন

আপনার APK পরীক্ষা করার সবচেয়ে সহজ উপায় হলো অ্যান্ড্রয়েড ডিবাগ ব্রিজ (adb) ব্যবহার করে অ্যাপটি ইনস্টল করা। বেশিরভাগ ক্ষেত্রে, ডিভাইসে কোন লাইব্রেরিগুলো ইনস্টল করতে হবে তা নির্দেশ করার জন্য আপনি প্যারামিটার হিসেবে --abi সরবরাহ করতে পারেন। এটি ডিভাইসে শুধুমাত্র ৬৪-বিট লাইব্রেরি সহ অ্যাপটি ইনস্টল করে।

:: Command Line
# A successful install:
> adb install --abi armeabi-v7a YOUR_APK_FILE.apk
Success

# If your APK does not have the 64-bit libraries:
> adb install --abi arm64-v8a YOUR_APK_FILE.apk
adb: failed to install YOUR_APK_FILE.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

# If your device does not support 64-bit, an emulator, for example:
> adb install --abi arm64-v8a YOUR_APK_FILE.apk
ABI arm64-v8a not supported on this device

সফলভাবে ইনস্টল করার পরে, এর গুণমান ৩২-বিট সংস্করণের মতোই আছে কিনা তা নিশ্চিত করতে আপনার অ্যাপটি স্বাভাবিকভাবে পরীক্ষা করুন।

পরিচিত সামঞ্জস্যের সমস্যাগুলি পরীক্ষা করুন

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

সোলোডার

আপনি যদি নেটিভ কোড লোডার SDK SoLoader ব্যবহার করেন, তাহলে v0.10.4 বা উচ্চতর সংস্করণে আপডেট করুন। আপনার অ্যাপ যদি SoLoader-এর উপর নির্ভরশীল কোনো SDK ব্যবহার করে, তাহলে সংশ্লিষ্ট SDK-গুলোর সর্বশেষ স্থিতিশীল সংস্করণেও আপডেট করা নিশ্চিত করুন।

SoLoader v0.9.0 এবং এর পূর্ববর্তী সংস্করণগুলো ধরে নেয় যে সিস্টেম লাইব্রেরিগুলো /vendor/lib:/system/lib পাথে উপস্থিত আছে। Pixel 7-এর মতো ডিভাইসগুলোতে এই বাগটি দেখা যায় না, কারণ সেখানে পাথটি বিদ্যমান। কিন্তু এই অনুমানের কারণে সেইসব ডিভাইসে ক্র্যাশ হয়, যেগুলোতে সিস্টেম লাইব্রেরিগুলো শুধুমাত্র /vendor/lib64:/system/lib64 পাথে থাকে।

SoLoader-এর কারণে সৃষ্ট এই এবং অন্যান্য সমস্যার সমাধানের বিষয়ে আরও তথ্যের জন্য, Google Help Center-এ সংশ্লিষ্ট উত্তরটি দেখুন।

ওপেনএসএসএল

আপনি যদি OpenSSL লাইব্রেরি ব্যবহার করেন, তাহলে OpenSSL 1.1.1i বা তার উচ্চতর সংস্করণে আপডেট করুন। আপনার অ্যাপ যদি HTTPS ব্যবহার করে যোগাযোগ স্থাপনকারী SDK, অথবা OpenSSL-এর উপর নির্ভরশীল অন্য কোনো SDK ব্যবহার করে, তাহলে নতুন OpenSSL সংস্করণ ব্যবহারকারী SDK-টির সর্বশেষ সংস্করণেও আপডেট করে নিন। যদি এমন কোনো সংস্করণ উপলব্ধ না থাকে, তবে SDK প্রদানকারীর সাথে যোগাযোগ করুন।

ARMv8.3 PAC রানটাইমে পয়েন্টার প্রমাণীকরণের মাধ্যমে হার্ডওয়্যার-সহায়তাযুক্ত কন্ট্রোল ফ্লো ইন্টিগ্রিটি সক্ষম করে। OpenSSL-এর পূর্ববর্তী সংস্করণগুলো এই সক্ষমতাগুলো ভুলভাবে ব্যবহার করে, যার ফলে ARMv8.3a এবং তার উপরের সংস্করণের প্রসেসরযুক্ত সমস্ত ডিভাইসে রানটাইম ক্র্যাশ ঘটে।

OpenSSL-এর কারণে সৃষ্ট এই এবং অন্যান্য সমস্যার সমাধানের বিষয়ে আরও তথ্যের জন্য, গুগল হেল্প সেন্টারে সংশ্লিষ্ট উত্তরটি দেখুন।

বিটিআই

ARMv8.5 এবং এর পরবর্তী সংস্করণগুলো JOP অ্যাটাক থেকে রক্ষা করার জন্য ব্রাঞ্চ টার্গেট ইনস্ট্রাকশন (BTI) ব্যবহার করে। অবফাসকেশন SDK-এর পূর্ববর্তী সংস্করণগুলো, যেগুলো BTI দিয়ে তৈরি লাইব্রেরির র‍্যান্ডম অফসেটে ব্রাঞ্চ করে, সেগুলো অ্যাপ ক্র্যাশ করার কারণ হতে পারে। যেহেতু এই ইনস্ট্রাকশনগুলো HINT হিসেবে এনকোড করা থাকে, তাই যেসব ডিভাইস BTI সাপোর্ট করে না, সেগুলোতে এই বাগটি লক্ষ্য করা যায় না।

প্রকাশ করুন

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

একটি বড় আপডেট চালু করার মতোই, বৃহত্তর দর্শকের কাছে প্রকাশ করার আগে নিশ্চিত হয়ে নিন যে আপনি এটি ৬৪-বিট-সক্ষম ডিভাইসগুলিতে পুঙ্খানুপুঙ্খভাবে পরীক্ষা করেছেন।

ডাউনলোড করুন Android 14 factory system image (64-bit-only)

ডাউনলোড করার আগে, আপনাকে অবশ্যই নিম্নলিখিত শর্তাবলীতে সম্মত হতে হবে।

শর্তাবলী

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
ডাউনলোড করুন Android 14 factory system image (64-bit-only)

bramble_beta_64-upb5.230623.006-factory-7e6731fa.zip

ডাউনলোড করুন Android 14 factory system image (64-bit-only)

ডাউনলোড করার আগে, আপনাকে অবশ্যই নিম্নলিখিত শর্তাবলীতে সম্মত হতে হবে।

শর্তাবলী

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
ডাউনলোড করুন Android 14 factory system image (64-bit-only)

redfin_beta_64-upb5.230623.006-factory-c4da6a19.zip

ডাউনলোড করুন Android 14 factory system image (64-bit-only)

ডাউনলোড করার আগে, আপনাকে অবশ্যই নিম্নলিখিত শর্তাবলীতে সম্মত হতে হবে।

শর্তাবলী

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
ডাউনলোড করুন Android 14 factory system image (64-bit-only)

oriole_beta_64-upb5.230623.006-factory-98943384.zip

ডাউনলোড করুন Android 14 factory system image (64-bit-only)

ডাউনলোড করার আগে, আপনাকে অবশ্যই নিম্নলিখিত শর্তাবলীতে সম্মত হতে হবে।

শর্তাবলী

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
ডাউনলোড করুন Android 14 factory system image (64-bit-only)

raven_beta_64-upb5.230623.006-factory-67ec40be.zip

ডাউনলোড করুন Android 13 factory system image (64-bit-only)

ডাউনলোড করার আগে, আপনাকে অবশ্যই নিম্নলিখিত শর্তাবলীতে সম্মত হতে হবে।

শর্তাবলী

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
ডাউনলোড করুন Android 13 factory system image (64-bit-only)

bramble_64-t3b3.230413.009-factory-b4be4092.zip

ডাউনলোড করুন Android 13 factory system image (64-bit-only)

ডাউনলোড করার আগে, আপনাকে অবশ্যই নিম্নলিখিত শর্তাবলীতে সম্মত হতে হবে।

শর্তাবলী

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
ডাউনলোড করুন Android 13 factory system image (64-bit-only)

redfin_64-t3b3.230413.009-factory-6e5e027a.zip

ডাউনলোড করুন Android 13 factory system image (64-bit-only)

ডাউনলোড করার আগে, আপনাকে অবশ্যই নিম্নলিখিত শর্তাবলীতে সম্মত হতে হবে।

শর্তাবলী

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
ডাউনলোড করুন Android 13 factory system image (64-bit-only)

oriole_64-t3b3.230413.009-factory-becb9b81.zip

ডাউনলোড করুন Android 13 factory system image (64-bit-only)

ডাউনলোড করার আগে, আপনাকে অবশ্যই নিম্নলিখিত শর্তাবলীতে সম্মত হতে হবে।

শর্তাবলী

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
ডাউনলোড করুন Android 13 factory system image (64-bit-only)

raven_64-t3b3.230413.009-factory-b0ef544e.zip