
প্রকল্পের পরিচিতি
Android Ad Cleaner হলো দেশীয় Android ফোনের জন্য একটি বিজ্ঞাপন অপসারণের টুল। এটি সিস্টেমের ব্যক্তিগতকৃত বিজ্ঞাপন, বিজ্ঞাপন ট্র্যাকিং, সার্চের জনপ্রিয় তালিকা, বাম দিকের স্ক্রিনের তথ্য, অ্যাপ স্টোরের প্রচারমূলক স্থান, মার্কেটিং নোটিফিকেশন, বিজ্ঞাপন কম্পোনেন্ট এবং Quick App পরিচালনা করতে পারে।
এটি ফোনে Root করবে না, Bootloader আনলক করবে না, ফ্ল্যাশ করবে না বা system পার্টিশন পরিবর্তন করবে না। সিস্টেম অ্যাপ আনইনস্টল বা নিষ্ক্রিয়ও করবে না। মূল কাজ হলো সিস্টেম ও নির্মাতার App-এ আগে থেকেই থাকা প্রকাশ্য সেটিংস পরিবর্তন করা। শুধু বিজ্ঞাপন কম্পোনেন্ট স্থগিত করার সময় pm suspend ব্যবহার করা হয় এবং এর জন্য ফোনের মালিকের স্পষ্ট সম্মতি প্রয়োজন।
প্রকল্পটি সার্চ, বাম দিকের স্ক্রিনের উপযোগী কার্ড, অ্যাপ স্টোরে ইনস্টল ও আপডেট, আবহাওয়ার সতর্কতা, অর্ডার, কুরিয়ার এবং সিস্টেম আপডেটের নোটিফিকেশন যতটা সম্ভব চালু রাখে। নির্মাতার ইন্টারফেস সিস্টেম আপগ্রেডের সঙ্গে বদলে যেতে পারে, তাই কাজের আগে ব্যাকআপ নিন এবং প্রতিটি পরিবর্তন যাচাই করুন।

প্রধান বৈশিষ্ট্য
- সিস্টেম বিজ্ঞাপন: ব্যক্তিগতকৃত বিজ্ঞাপন, বিজ্ঞাপন ট্র্যাকিং OAID এবং স্মার্ট রেকমেন্ডেশন সার্ভিসের মতো সেটিংস বন্ধ করে।
- জনপ্রিয় সার্চ ও তথ্য: নিচে টেনে খোলা সার্চের জনপ্রিয় তালিকা, বাম দিকের স্ক্রিনের তথ্য এবং ব্রাউজারের তথ্যপ্রবাহ পরিচালনা করে; ব্রাউজারকে সরল হোমপেজেও পরিবর্তন করা যায়।
- অ্যাপ স্টোরের প্রচার: ক্যারোসেল, স্প্ল্যাশ স্ক্রিন, ভাসমান কার্যক্রম, চেক-ইন সুবিধাসহ বিভিন্ন সার্ভিস ম্যানেজমেন্ট আইটেম বন্ধ করে।
- মার্কেটিং পুশ: নোটিফিকেশন চ্যানেল অনুযায়ী “কনটেন্ট ও মার্কেটিং”, “কার্যক্রম ও অফার” ইত্যাদি নোটিফিকেশন বন্ধ করে; অর্ডার, কুরিয়ার, আবহাওয়ার সতর্কতা ও আপডেট রিমাইন্ডার চালু রাখে।
- বিজ্ঞাপন কম্পোনেন্ট:
com.opos.ads,com.miui.systemAdSolutionইত্যাদি কম্পোনেন্ট শনাক্ত করে এবং ব্যবহারকারীর সম্মতিতেpm suspendদিয়ে স্থগিত করে। - Quick App: বিজ্ঞাপনে ক্লিকের পর সরাসরি চালু হওয়া ইনস্টলেশনবিহীন মিনি-প্রোগ্রাম শনাক্ত করে এবং বন্ধ করার সুবিধা দেয়।
- মডেল স্ক্রিপ্ট: মডেল ও সিস্টেম সংস্করণ অনুযায়ী সংশ্লিষ্ট পৃষ্ঠা স্বয়ংক্রিয়ভাবে খোলে, লেখা শনাক্ত করে এবং সেটিংস পরিবর্তন করে।
- ব্যাকআপ ও পুনরুদ্ধার: পরিবর্তনের আগে স্ন্যাপশট সংরক্ষণ করে; স্থগিত সফটওয়্যার প্যাকেজ ও নোটিফিকেশন চ্যানেল কমান্ডের মাধ্যমে পুনরুদ্ধার করা যায়।
উপযুক্ত ব্যবহারের পদ্ধতি বেছে নিন
প্রকল্পটি চারটি ব্যবহারের পদ্ধতি দেয়। বেশিরভাগ ব্যবহারকারীর জন্য ডেস্কটপ ক্লায়েন্টই অগ্রাধিকারযোগ্য; এতে Python ইনস্টল বা AI টুলের প্রয়োজন নেই।
- ডেস্কটপ ক্লায়েন্ট: Mac বা Windows কম্পিউটার আছে এবং গ্রাফিক্যাল ইন্টারফেসে কাজ করতে চান এমন ব্যবহারকারীদের জন্য।
- AI এজেন্ট: টার্মিনাল কমান্ড চালাতে পারে এমন AI টুলকে রিপোজিটরির নিয়ম পড়ে প্রক্রিয়া চালাতে দেওয়া।
- চ্যাট AI: শুধু ফোন থাকলে DeepSeek, Doubao বা ChatGPT-কে নির্দেশনা অনুযায়ী ধাপে ধাপে ম্যানুয়াল সেটিংসে সহায়তা করতে বলা।
- ম্যানুয়াল তালিকা: রিপোজিটরিতে থাকা প্রতিটি ব্র্যান্ডের তালিকা অনুযায়ী একে একে বন্ধ করা; যারা প্রতিটি ধাপ নিজে নিয়ন্ত্রণ করতে চান তাদের জন্য।
ডেস্কটপ ক্লায়েন্ট ও কমান্ড লাইন পদ্ধতির জন্য ফোনে আগে ডেভেলপার মোড ও USB ডিবাগিং চালু করতে হবে। শুধু ফোনে ব্যবহৃত চ্যাট AI বা ম্যানুয়াল তালিকা পদ্ধতিতে কম্পিউটারে সংযোগের প্রয়োজন নেই।
পদ্ধতি এক: ডেস্কটপ ক্লায়েন্ট ইনস্টল করুন
সঠিক ইনস্টলেশন প্যাকেজ বেছে নিন
ডেস্কটপ ক্লায়েন্ট 0.2.0-এর জন্য নিচের সংস্করণগুলো রয়েছে:
- Apple চিপের Mac: M1 এবং পরবর্তী Apple Silicon মডেলের জন্য; mac-arm64 DMG ডাউনলোড করুন।
- Intel চিপের Mac: mac-intel DMG ডাউনলোড করুন।
- Windows 10 বা 11 ইনস্টলার: Windows ইনস্টলার ডাউনলোড করুন।
- Windows 10 বা 11 পোর্টেবল সংস্করণ: পোর্টেবল ZIP ডাউনলোড করে আনজিপ করুন, তারপর
AndroidAdCleaner.exeচালান।
Mac-এর চিপের ধরন জানা না থাকলে, ওপরের বাম কোণের Apple মেনু থেকে “About This Mac” খুলুন। “Chip” ঘরটি Apple M দিয়ে শুরু হলে Apple চিপ সংস্করণ বেছে নিন; অন্যথায় ডিভাইসের তথ্য অনুযায়ী Intel সংস্করণ বেছে নিন। অন্যান্য সংস্করণ Releases পৃষ্ঠাতে দেখা যাবে।
Mac ইনস্টলেশন প্যাকেজটি স্বাক্ষরিত এবং Apple দ্বারা নোটারাইজড। Windows-এ “Windows protected your PC” দেখালে প্রকল্পের নির্দেশনা অনুযায়ী “More info” ক্লিক করে “Run anyway” বেছে নিন।
ফোন সংযুক্ত করুন
- ফোনের সেটিংসে ডেভেলপার মোড চালু করুন।
- ডেভেলপার অপশনে গিয়ে USB ডিবাগিং চালু করুন।
- ডেটা কেবল দিয়ে ফোন ও কম্পিউটার সংযুক্ত করুন।
- ফোনে USB ডিবাগিং অনুমতির উইন্ডো এলে কম্পিউটারের ফিঙ্গারপ্রিন্ট যাচাই করে সংযোগ অনুমোদন করুন।
- Android Ad Cleaner চালু করে ক্লায়েন্ট ফোন শনাক্ত করা পর্যন্ত অপেক্ষা করুন।
USB ডিবাগিং কীভাবে চালু করতে হয় জানা না থাকলে, রিপোজিটরির ডেভেলপার মোডের চিত্রসহ নির্দেশিকা দেখুন।

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

বন্ধ করার আইটেম বাছাই করার সময় নোটিফিকেশন চ্যানেলের দিকে বিশেষ খেয়াল রাখুন। মার্কেটিং-সংক্রান্ত নোটিফিকেশন বন্ধ করা যায়, কিন্তু অর্ডার, লজিস্টিকস, আবহাওয়ার সতর্কতা, সিস্টেম সার্ভিস ইত্যাদি চ্যানেল সাধারণত নির্বাচন করা উচিত নয়। ব্যবহারকারীর চুক্তির পৃষ্ঠা এলে প্রকল্পটি আপনার হয়ে সম্মতি দেবে না; “Cancel” বা “Later” বেছে নিন।

চালিয়ে ফলাফল যাচাই করুন
পরিবর্তনগুলো নিশ্চিত করে প্রক্রিয়া শুরু করুন। ক্লায়েন্ট অগ্রগতি ও রিয়েল-টাইম লগ দেখাবে এবং সমাপ্তির পৃষ্ঠায় প্রতিটি ধাপের ফলাফল তালিকাভুক্ত করবে। কোনো প্রবেশপথ না পেলে ধাপটি এড়িয়ে যাবে; প্রক্রিয়া চালিয়ে যেতে ইচ্ছেমতো অন্য পৃষ্ঠায় ক্লিক করবে না।

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

পদ্ধতি দুই: কমান্ড লাইন দিয়ে সম্পূর্ণ প্রক্রিয়া চালান
কমান্ড লাইন পদ্ধতি তাদের জন্য উপযুক্ত যারা প্রতিটি ধাপ দেখতে, কাজ বেছে নিতে বা মডেল অভিযোজনে অংশ নিতে চান। শুরু করার আগে প্রকল্প ক্লোন করুন, Python পরিবেশ প্রস্তুত করুন এবং প্রকল্পের প্রস্তুতি নির্দেশনা অনুযায়ী ADB ইনস্টল ও সংযুক্ত করুন।
নির্ভরতা ইনস্টল করুন
git clone https://github.com/rddmwmddr/android-ad-cleaner.git
cd android-ad-cleaner
pip3 install -r requirements.txtডিভাইস শনাক্ত ও শুধু-পঠন পরীক্ষা
প্রথমে সংযুক্ত ডিভাইসের তালিকা দেখুন এবং সিরিয়াল নম্বর, মডেল ও মিল থাকা মডেল স্ক্রিপ্ট আছে কি না যাচাই করুন:
python3 tool/run.py devicesএরপর কমান্ডের <সিরিয়াল নম্বর>-এর জায়গায় প্রকৃত সিরিয়াল নম্বর বসিয়ে শুধু-পঠন পরীক্ষা চালান:
python3 tool/run.py -s <সিরিয়াল নম্বর> checkcheck বর্তমান অবস্থা বোঝার জন্য; এটি সরাসরি সেটিংস পরিবর্তন করবে না। একাধিক ডিভাইস সংযুক্ত থাকলে ভুল ডিভাইসে কাজ এড়াতে অবশ্যই -s দিয়ে লক্ষ্য ডিভাইস নির্দিষ্ট করুন।
ব্যাকআপ নিয়ে মডেল স্ক্রিপ্ট চালান
আনুষ্ঠানিক পরিবর্তনের আগে স্ন্যাপশট সংরক্ষণ করুন, তারপর বর্তমান মডেল ও সিস্টেম সংস্করণের সঙ্গে মেলা স্ক্রিপ্ট চালান:
python3 tool/run.py -s <সিরিয়াল নম্বর> backup
python3 tool/run.py -s <সিরিয়াল নম্বর> recipeমডেল স্ক্রিপ্টে কোন App খুলতে হবে, কোন সেটিংস পৃষ্ঠায় যেতে হবে, কোন সুইচ বন্ধ করতে হবে এবং কোন ফাংশন চালু রাখতে হবে তা লেখা থাকে। মডেল বা সিস্টেম সংস্করণ না মিললে ইঞ্জিন সতর্ক করবে; প্রবেশপথ নিশ্চিত করা না গেলে সংশ্লিষ্ট ধাপটি এড়িয়ে যাবে।
মার্কেটিং নোটিফিকেশন স্ক্যান ও বন্ধ করুন
প্রথমে নোটিফিকেশন চ্যানেল স্ক্যান করুন, তারপর ব্যাকআপ ডিরেক্টরির channels.tsv ব্যবহার করে নির্বাচিত ফলাফল প্রয়োগ করুন:
python3 tool/run.py -s <সিরিয়াল নম্বর> chan-scan
python3 tool/run.py -s <সিরিয়াল নম্বর> chan-off backups/<মডেল>-<সময়>/channels.tsvসব নোটিফিকেশন একসঙ্গে বন্ধ করবেন না। সঠিক পদ্ধতি হলো “কনটেন্ট ও মার্কেটিং”, “অফার ও কার্যক্রম” ইত্যাদি চ্যানেল বন্ধ করা এবং অর্ডার, লজিস্টিকস, আবহাওয়ার সতর্কতা ও আপডেট নোটিফিকেশন চালু রাখা।

Quick App শনাক্ত করে শেষ করুন
python3 tool/run.py -s <সিরিয়াল নম্বর> quickapp
python3 tool/run.py -s <সিরিয়াল নম্বর> quickapp off
python3 tool/run.py -s <সিরিয়াল নম্বর> finishপ্রথম কমান্ডটি Quick App শনাক্ত করে, দ্বিতীয়টি বন্ধ করার কাজ সম্পাদন করে। সব পরীক্ষা শেষ হলে finish চালিয়ে নির্দেশনা অনুযায়ী ডেভেলপার মোড বন্ধ করুন। শেষ ধাপ হিসেবে নিচের কমান্ডটিও ব্যবহার করা যায়:
python3 tool/run.py -s <সিরিয়াল নম্বর> dev-off --yes
dev-off --yesচালানোর পর ডিবাগিং সংযোগ বিচ্ছিন্ন হবে, তাই এটি অবশ্যই প্রক্রিয়ার শেষে রাখতে হবে।
পদ্ধতি তিন: AI এজেন্টকে কাজটি করতে দিন
WorkBuddy, Claude Code, Codex, Trae, Cursor ইত্যাদি রিপোজিটরি পড়ে কমান্ড চালাতে পারে এমন টুল ব্যবহার করলে ফোনটি কম্পিউটারে সংযুক্ত করে এজেন্টকে নিচের কথাগুলো পাঠাতে পারেন:
অনুগ্রহ করে https://github.com/rddmwmddr/android-ad-cleaner ক্লোন করুন, রিপোজিটরির AGENTS.md পড়ুন,
তারপর কম্পিউটারে সংযুক্ত এই ফোনটির বিজ্ঞাপন অপসারণে আমাকে সহায়তা করুন। প্রতিটি পরিবর্তনের আগে কী পরিবর্তন করতে যাচ্ছেন তা আমাকে জানান।AGENTS.md-এ AI-এর পড়ার জন্য পরিচালনাগত নির্দেশনা রয়েছে। এটি কোনো এজেন্টকে দিয়ে সম্পাদন করালেও, প্রতিটি পরিবর্তনের আগে সে কী সেটিং পরিবর্তন করবে তা ব্যাখ্যা করতে বলা উচিত; ব্যাকআপ বা ব্যবহারকারীর অনুমোদন এড়িয়ে যাওয়া যাবে না।
উন্নত কৌশল ও সতর্কতা
মডেল-সামঞ্জস্যপূর্ণ স্ক্রিপ্ট সত্যিই মেলে কি না নিশ্চিত করুন
সিস্টেমের ছোট সংস্করণ আপডেটের পর নির্মাতা সেটিংস পৃষ্ঠার নাম ও স্তরবিন্যাস পরিবর্তন করতে পারেন। একই ব্র্যান্ডের ফোনের ইন্টারফেসও পুরোপুরি এক হবে ধরে নেওয়া যায় না। রিপোজিটরির স্ক্রিপ্টগুলো ব্র্যান্ড, মডেল ও সিস্টেম সংস্করণ অনুযায়ী রাখা হয়েছে। সংস্করণ না মিললে শনাক্তকরণের ফলাফলকে অগ্রাধিকার দিন এবং অন্য মডেলের স্ক্রিপ্ট জোর করে প্রয়োগ করবেন না।
README-তে Honor, OPPO, Xiaomi এবং vivo-এর কিছু পরীক্ষিত ডিভাইস তালিকাভুক্ত আছে, তবে মডেলভেদে সম্পূর্ণতার মাত্রা ভিন্ন। বিপণন বিজ্ঞপ্তি ও বিজ্ঞাপন ট্র্যাকিংয়ের ফাংশনগুলো তুলনামূলকভাবে সাধারণ, কিন্তু মডেল-নির্দিষ্ট স্বয়ংক্রিয় কাজগুলো এখনও যাচাই বা পরিপূরণের অপেক্ষায় থাকতে পারে।
বিজ্ঞাপন কম্পোনেন্ট সতর্কতার সঙ্গে পরিচালনা করুন
প্রকল্পটি সিস্টেম অ্যাপ আনইনস্টল বা নিষ্ক্রিয় করতে pm uninstall কিংবা pm disable-user ব্যবহার করে না। স্বতন্ত্র বিজ্ঞাপন কম্পোনেন্টের ক্ষেত্রে, ব্যবহারকারীর সম্মতি পাওয়ার পরই শুধু pm suspend ব্যবহার করে সেগুলো স্থগিত করা হবে। সম্পাদনের আগে কম্পোনেন্টের নাম ও বিবরণ পড়ুন; নিশ্চিত না হলে আগে বাদ দিন।
ব্যাকআপ ডিরেক্টরি সংরক্ষণ করুন
ফোনটি স্বাভাবিকভাবে চলছে নিশ্চিত না হওয়া পর্যন্ত backups-এর স্ন্যাপশট মুছে ফেলবেন না। স্থগিত করা প্যাকেজ ও বিজ্ঞপ্তি চ্যানেল কমান্ডের মাধ্যমে পুনরুদ্ধার করা যায়; তবে App-এর সেটিংস তালিকায় থাকা পথ অনুসরণ করে হাতে আবার চালু করতে হবে। বিস্তারিত ধাপের জন্য পুনরুদ্ধার নথি দেখুন।
অসমর্থিত ফোনের জন্য স্ক্রিপ্ট লিখুন
ডিভাইসটি সমর্থিত তালিকায় না থাকলে নতুন মডেলের স্ক্রিপ্ট নির্দেশিকা অনুসরণ করে সেটিংসের পথ নথিবদ্ধ করতে পারেন এবং প্রকল্পে Pull Request জমা দিতে পারেন। পরীক্ষামূলক অনুসন্ধান সরঞ্জামটি tool/explore.py-তে, আর মডেল স্ক্রিপ্টগুলো recipes/<ব্র্যান্ড>-<মডেল>/recipe.py-তে রয়েছে।
মতামত দেওয়ার সময় গোপনীয়তা রক্ষা করুন
ডেস্কটপ ক্লায়েন্টের নিচের বাম কোণের “সমস্যা সম্পর্কে মতামত” বিকল্পটি স্বয়ংক্রিয়ভাবে ক্লায়েন্ট সংস্করণ, ফোনের মডেল, সিস্টেম সংস্করণ এবং সাম্প্রতিক লগ সংযুক্ত করে। সিরিয়াল নম্বর প্রতিস্থাপন করা হয় এবং অ্যাপের তালিকা বা বিজ্ঞপ্তির বিষয়বস্তু সংযুক্ত করা হয় না। তবু জমা দেওয়ার আগে নিজে তথ্য পরীক্ষা করে নেওয়া ভালো। এরপর GitHub Issues-এ গিয়ে উপযুক্ত টেমপ্লেট নির্বাচন করুন।

উপসংহার
Android Ad Cleaner-এর লক্ষ্য সিস্টেম কম্পোনেন্ট আক্রমণাত্মকভাবে মুছে ফেলা নয়; বরং Root বা ফ্ল্যাশিং ছাড়াই বিজ্ঞাপন, সুপারিশ এবং বিপণন প্রবেশপথগুলো পদ্ধতিগতভাবে বন্ধ করা। সাধারণ ব্যবহারকারী ডেস্কটপ ক্লায়েন্ট দিয়ে শুরু করতে পারেন; আরও নির্ভুল নিয়ন্ত্রণের প্রয়োজন হলে কমান্ড লাইনের পরীক্ষা, ব্যাকআপ, মডেল স্ক্রিপ্ট এবং বিজ্ঞপ্তি চ্যানেলের প্রক্রিয়া ব্যবহার করা যায়। যে পদ্ধতিই বেছে নিন, আগে ব্যাকআপ নিন, প্রতিটি ধাপ নিশ্চিত করুন, কাজ শেষে ডেভেলপার মোড বন্ধ করুন এবং নিজের ফোনের বাস্তব ফলাফলকে ভিত্তি হিসেবে ধরুন।
