প্রকল্প ওভারভিউ

প্ল্যাটফর্মের জন্য অ্যান্ড্রয়েড স্টুডিওর (ASfP) একটি প্রজেক্টে সোর্স কোড এবং সম্পদ থেকে শুরু করে কোড টেস্ট এবং কনফিগারেশন তৈরি করা পর্যন্ত আপনার AOSP কোডবেসের জন্য আপনার ওয়ার্কস্পেসকে সংজ্ঞায়িত করে এমন সবকিছু রয়েছে।

আপনি যখন একটি নতুন প্রকল্প শুরু করেন, ASfP আপনার সমস্ত ফাইলের জন্য প্রয়োজনীয় কাঠামো তৈরি করে এবং সেগুলিকে প্রজেক্ট উইন্ডোতে দৃশ্যমান করে। উইন্ডোটি খুলতে, দেখুন > টুল উইন্ডোজ > প্রকল্প নির্বাচন করুন।

এই পৃষ্ঠাটি আপনার প্রকল্প কনফিগারেশনের মূল উপাদানগুলির একটি ওভারভিউ প্রদান করে।

প্রকল্প কনফিগারেশন ( .asfp-project )

ASfP প্রোজেক্ট কনফিগারেশন .asfp-project ফাইল দ্বারা নিয়ন্ত্রিত হয়, আপনার প্রোজেক্ট ডিরেক্টরির রুটে অবস্থিত। এই YAML ফাইলটি আপনার প্রোজেক্টে কী যায় এবং কীভাবে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি কাজ করে তা নিয়ন্ত্রণ করার জন্য অপরিহার্য। আপনি ASfP > Project > Open Config ব্যবহার করে বা প্রজেক্ট ভিউতে এটি খুঁজে বের করার মাধ্যমে প্রধান মেনুর মাধ্যমে এটি খুলতে পারেন।

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

কনফিগারেশন পরামিতি

এখানে মূল পরামিতিগুলি রয়েছে যা আপনি .asfp-project ফাইলে কনফিগার করতে পারেন:

repo

প্রয়োজন

আপনার অ্যান্ড্রয়েড প্ল্যাটফর্ম রিপোজিটরি রুটের একটি পরম পথ।

repo: /path/to/aosp

lunch

প্রয়োজন

মধ্যাহ্নভোজের লক্ষ্য যা আপনার প্রকল্পের সাথে মিলিত হবে। এটি সিঙ্ক এবং প্রাসঙ্গিক রান কনফিগারেশন সহ সমস্ত Soong বিল্ড অ্যাকশনের জন্য ব্যবহৃত হয়।

lunch: your-product-variant-userdebug

directories

ঐচ্ছিক

ডাইরেক্টরিগুলি আপনার প্রোজেক্টে অন্তর্ভুক্ত বা বাদ দিতে হবে। এগুলি repo রুটের সাপেক্ষে আপেক্ষিক পথ হওয়া উচিত।

directories:
  include:
    -   frameworks/base
    -   packages/apps/Settings
  exclude:
    -   vendor
    -   out/soong

modules

ঐচ্ছিক

আপনার প্রোজেক্টে অন্তর্ভুক্ত বা বাদ দেওয়ার জন্য মডিউল। এইগুলি পূর্বে নির্দিষ্ট করা directories সাথে একত্রে কাজ করে। সম্পূর্ণ এবং সংক্ষিপ্ত নাম উভয়ই সমর্থিত।

modules:
  include:
    -   SystemUIGoogle
    -   frameworks/base/services/core/java:services
  exclude:
    -   UnusedModule

test_sources

ঐচ্ছিক

ASfP উত্পাদন এবং পরীক্ষার উত্সগুলির মধ্যে পার্থক্য করার চেষ্টা করে, তবে কিছু ক্ষেত্রে, আপনাকে স্পষ্টভাবে পরীক্ষার উত্সগুলি বোঝাতে হতে পারে। repo রুটের সাপেক্ষে আপেক্ষিক পথ হিসাবে এগুলি প্রদান করুন। নির্দিষ্ট পথ(গুলি) এর সাবডিরেক্টরি যেকোন উৎস রুট পরীক্ষা হিসাবে চিহ্নিত করা হবে।

test_sources:
  -   cts/tests/tests/example
  -   tests/mytests

other_languages

ঐচ্ছিক

জাভা সমর্থন ডিফল্টরূপে অন্তর্ভুক্ত করা হয়। আপনি অন্যান্য ভাষার জন্য সমর্থন যোগ করতে পারেন. ASfP এছাড়াও C/C++ ( cpp ) এবং Rust ( rust ) সমর্থন করে।

other_languages:
  -   cpp
  -   rust

build_config

ঐচ্ছিক

এই প্যারামিটারটি আপনাকে Soong বিল্ড ইভেন্টে কাস্টম পতাকা বা পরিবেশের ভেরিয়েবল যোগ করতে দেয়। এই কনফিগারেশনটি IDE-এর সমস্ত অ্যাকশনের ক্ষেত্রে প্রযোজ্য যা সিঙ্ক এবং রান কনফিগারেশন সহ সুং বিল্ডে পরিণত হয়।

build_config:
  flags:
    -   -j64
  env:
    SOONG_ALLOW_MISSING_DEPENDENCIES: true
    MY_CUSTOM_VAR: value