অ্যান্ড্রয়েড ৭.০ রিলিজের আগে, অ্যান্ড্রয়েড তার বিল্ড নিয়মগুলি বর্ণনা এবং কার্যকর করার জন্য একচেটিয়াভাবে GNU Make ব্যবহার করত। মেক বিল্ড সিস্টেমটি ব্যাপকভাবে সমর্থিত এবং ব্যবহৃত হয়, কিন্তু অ্যান্ড্রয়েডের স্কেলে এটি ধীর, ত্রুটি-প্রবণ, স্কেলেবল এবং পরীক্ষা করা কঠিন হয়ে পড়ে। Soong বিল্ড সিস্টেম অ্যান্ড্রয়েড বিল্ডের জন্য প্রয়োজনীয় নমনীয়তা প্রদান করে। আমরা অ্যান্ড্রয়েড বিল্ড সিস্টেমে উল্লেখযোগ্য পরিবর্তন আনছি, Make ( Android.mk ) বিল্ড সিস্টেমটি বাতিল করে Soong ( Android.bp ) দিয়ে প্রতিস্থাপন করছি।
এই কারণে, প্ল্যাটফর্ম ডেভেলপারদের যত তাড়াতাড়ি সম্ভব মেক থেকে স্যুইচ করে সুং গ্রহণ করার আশা করা হচ্ছে। সহায়তা পেতে অ্যান্ড্রয়েড বিল্ডিং গুগল গ্রুপে প্রশ্ন পাঠান।
সুং কী?
মেককে প্রতিস্থাপন করার জন্য অ্যান্ড্রয়েড ৭.০ (নৌগ্যাট) তে সুং বিল্ড সিস্টেম চালু করা হয়েছিল। এটি অ্যান্ড্রয়েডের বিল্ডগুলিকে দ্রুততর করার জন্য কাটি জিএনইউ মেক ক্লোন টুল এবং নিনজা বিল্ড সিস্টেম উপাদান ব্যবহার করে।
সাধারণ নির্দেশাবলীর জন্য অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) -এ অ্যান্ড্রয়েড মেক বিল্ড সিস্টেমের বিবরণ দেখুন এবং মেক থেকে সুং -এ অভিযোজিত করার জন্য প্রয়োজনীয় পরিবর্তনগুলি সম্পর্কে জানতে অ্যান্ড্রয়েড.এমকে লেখকদের জন্য বিল্ড সিস্টেম পরিবর্তনগুলি দেখুন। মূল পদগুলির সংজ্ঞার জন্য শব্দকোষে বিল্ড-সম্পর্কিত এন্ট্রিগুলি এবং সম্পূর্ণ বিবরণের জন্য সুং মডিউল রেফারেন্স দেখুন।
মেক এবং সুং এর তুলনা
এখানে মেক কনফিগারেশনের তুলনা করা হল, যা Soong কনফিগারেশন (ব্লুপ্রিন্ট বা .bp ) ফাইলে একই কাজ করে।
উদাহরণ তৈরি করুন
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libxmlrpc++
LOCAL_MODULE_HOST_OS := linux
LOCAL_RTTI_FLAG := -frtti
LOCAL_CPPFLAGS := -Wall -Werror -fexceptions
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/src
LOCAL_SRC_FILES := $(call \
all-cpp-files-under,src)
include $(BUILD_SHARED_LIBRARY)
সুং উদাহরণ
cc_library_shared {
name: "libxmlrpc++",
rtti: true,
cppflags: [
"-Wall",
"-Werror",
"-fexceptions",
],
export_include_dirs: ["src"],
srcs: ["src/**/*.cpp"],
target: {
darwin: {
enabled: false,
},
},
}
পরীক্ষা-নির্দিষ্ট Soong কনফিগারেশন উদাহরণের জন্য, সহজ বিল্ড কনফিগারেশন দেখুন।
মৌলিক রূপান্তর পদ্ধতি
একটি Android.mk ফাইলকে Android.bp ফাইলে রূপান্তর করার জন্য সাধারণত androidmk হেল্পার টুল ব্যবহার করে এই সাধারণ কর্মপ্রবাহ অনুসরণ করা হয়। সাধারণত রূপান্তরের ক্ষেত্রে নিম্নলিখিত ধাপগুলি অনুসরণ করা হয়।
টার্মিনাল পরিবেশ সেট আপ করুন এবং
androidmkটুল তৈরি করুন।androidmkহল একটি কমান্ড লাইন টুল যা একটিAndroid.mkফাইল পার্স করে এবং একটি অনুরূপAndroid.bpফাইল আউটপুট করার চেষ্টা করে। এটি বেশিরভাগAndroid.mkফাইলকে খুব কম বা কোনও ম্যানুয়াল পরিবর্তন ছাড়াইAndroid.bp তে রূপান্তর করতে পারে।cd <root-of-the-tree> source build/envsetup.sh lunch <lunch-target> m androidmkAndroid.mkদিয়ে তৈরি করুন :sh m <module-name>androidmkকনভার্সন টুলটি চালান:sh androidmk <path-to-Android.mk>/Android.mk > <path-to-Android.bp>/Android.bpAndroid.bpফাইলটি ম্যানুয়ালি সম্পাদনা করুন:-
androidmkটুল দ্বারা নির্গত যেকোনো সতর্কতার সমাধান করুন। - একটি কপিরাইট হেডার ধরে রাখুন অথবা যোগ করুন। যদি নতুন একটি যোগ করেন, তাহলে বর্তমান বছরটি ব্যবহার করুন।
-
Android.mkফাইলটি সরান এবংAndroid.bpফাইলটি দিয়ে তৈরি করুন।নির্মিত শিল্পকর্ম বা চলমান ইউনিট এবং কার্যকরী পরীক্ষার তুলনা করে রূপান্তরটি যাচাই করুন।
পরিবর্তনগুলি সংরক্ষণ করুন এবং পর্যালোচনার জন্য আপলোড করুন।
আরও তথ্যের জন্য Android.bp ফাইল ফর্ম্যাট দেখুন।