📅 ৩০ সেপ্টেম্বর ২০২৬  ·  ⏱️ ৫ মিনিটে পড়ুন

আসসালামু আলাইকুম বন্ধুরা, সবাই কেমন আছেন?

অ্যাপের ভেতরের বিরক্তিকর অ্যাডে অতিষ্ঠ? আজকে দেখাবো যেকোনো APK থেকে অ্যাড SDK রিমুভ করার পুরো প্রসেস :- ডেমো হিসেবে “File Translator Subtitle srt” অ্যাপটা (v1.57) নিয়েছি, যার ভেতরে ৪টা অ্যাড নেটওয়ার্ক ঢোকানো ছিল। নিচে প্রতিটা স্টেপের আসল স্ক্রিনশটসহ বুঝিয়ে দিচ্ছি।

যা যা লাগবে

  • apktool :- APK ডিকম্পাইল / রিবিল্ড করার টুল
  • Java (keytool) :- সাইন করার জন্য নতুন key বানাতে
  • apksigner :- Android build-tools এর সাথে থাকে
  • যে APK থেকে অ্যাড রিমুভ করবেন, সেটার ফাইল

ফোন দিয়ে করতে চাইলে MT Manager অ্যাপে একই স্টেপগুলো (ডিকম্পাইল, এডিট, রিবিল্ড, সাইন) করা যায়।

ধাপ ১ :- APK ডিকম্পাইল করুন

প্রথমে apktool দিয়ে APK-টা ডিকম্পাইল করবেন :- ভেতরের কোড (smali), AndroidManifest.xml আর রিসোর্সগুলো আলাদা হয়ে যাবে।

$ apktool d original.apk
apktool decompile

খেয়াল করুন :- “Baksmaling assets/audience_network.dex…” লাইনটা। এটাই Meta-র Audience Network অ্যাড SDK, APK-র ভেতরেই লুকানো ছিল।

ধাপ ২ :- অ্যাড কম্পোনেন্ট খুঁজে বের করুন

ডিকম্পাইল হয়ে গেলে AndroidManifest.xml খুলুন। এই অ্যাপে যা যা পাওয়া গেল :-

manifest ad keys

লাল মার্ক করা ৩টা লাইন :- AdMob-এর APPLICATION_ID, AD_MANAGER_APP আর AppLovin-এর SDK key। এগুলোই অ্যাড নেটওয়ার্কের পরিচয়।

আর কোডের সাইজ দেখুন :-

ad SDK sizes

🔍 এই অ্যাপে ৪টা অ্যাড SDK পাওয়া গেছে :-

  • AppLovin :- 28MB কোড
  • Meta Audience Network :- 27MB (assets-এ লুকানো dex ফাইলসহ)
  • Unity Ads :- 6.6MB কোড
  • Google AdMob :- অ্যাড activity আর mediation কোড

Manifest-এ এদের activity, service, provider এন্ট্রিগুলোও ছিল :-

manifest ad components

ধাপ ৩ :- Manifest থেকে অ্যাড এন্ট্রি ডিলিট করুন

এবার AndroidManifest.xml থেকে অ্যাডের সব এন্ট্রি মুছে দিন :-

  • AD_ID permission (শুধু অ্যাড ট্র্যাকিংয়ের জন্য)
  • AppLovin-এর provider, ১৮টা activity আর service
  • AdMob-এর AdActivity, MobileAdsInitProvider, AdService
  • Unity-র ৪টা AdUnit activity
  • Facebook-এর AudienceNetworkActivity আর ContentProvider
  • AdMob / AppLovin-এর meta-data key গুলো

মোট ৩৯টা লাইন রিমুভ হয়েছে। ডিলিটের পর manifest একদম ক্লিন :-

manifest after cleanup

সবুজ মার্ক করা লাইনগুলো অ্যাপের নিজের কম্পোনেন্ট :- ওগুলো ঠিকঠাক আছে, শুধু Unity-র অ্যাড লাইনটা গায়েব।

ধাপ ৪ :- অ্যাড SDK-র কোড ফোল্ডার ডিলিট করুন

এবার smali ফোল্ডার থেকে অ্যাড SDK-গুলোর পুরো কোড মুছে দিন :-

$ rm -rf smali/com/applovin smali/com/unity3d \
  smali_classes2/com/unity3d smali/com/facebook/ads \
  smali/com/google/android/gms/ads smali/com/google/ads \
  smali_assets/audience_network assets/audience_network.dex

সাথে AppLovin-এর ২৩১টা রিসোর্স ফাইল (আইকন, লেআউট) আর values-এর ৮০০+ অ্যাড এন্ট্রিও ডিলিট করা হয়েছে, নাহলে রিবিল্ডে এরর দেয়।

ধাপ ৫ :- APK রিবিল্ড করুন

$ apktool b decompiled -o rebuilt-unsigned.apk
apktool rebuild

ধাপ ৬ :- নতুন signature দিয়ে সাইন করুন

মডিফাই করা APK আগের signature-এ আর ইনস্টল হবে না :- তাই নতুন key বানিয়ে সাইন করতে হবে।

$ keytool -genkeypair -keystore debug.keystore -alias androiddebugkey …
$ apksigner sign –ks debug.keystore –out filetranslato-noads.apk rebuilt-unsigned.apk
$ apksigner verify –print-certs filetranslato-noads.apk
sign and verify

রেজাল্ট :- অ্যাডমুক্ত APK রেডি!

✔️ ফাইনাল চেক :-

  • সাইজ :- 7.2MB → 4.2MB (৩MB অ্যাড কোড গায়েব!)
  • অ্যাড SDK :- ডিলিট (AppLovin, AdMob, Unity, Audience Network-এর কোড ও কম্পোনেন্ট সব রিমুভ; ৩টা AdMob রিসোর্স XML ফাইল রয়ে গেছে)
  • Signature :- Valid (apksigner verify পাস)
  • Package :- com.filetranslato v1.57, আগের মতোই

⚠️ সতর্কতা :-

  • শুধু সেই APK মডিফাই করবেন যেটার অধিকার আপনার আছে। ডেভেলপারের ক্ষতি করে এমন ব্যবহার করবেন না।
  • অ্যাড কোড ডিলিট করলে কিছু অ্যাপে অ্যাড দেখানোর জায়গায় ক্র্যাশ করতে পারে :- আগে ব্যাকআপ রাখুন।
  • নতুন signature-এর কারণে Play Store ভার্সনের উপর আপডেট হিসেবে ইনস্টল হবে না :- আগেরটা আনইনস্টল করে নতুনটা ইনস্টল করতে হবে।

📢 আমাদের টেলিগ্রাম গ্রুপে জয়েন করুন :-

Join Telegram

আজকের মতো এই পর্যন্তই।
আল্লাহ হাফেজ!