VS Code ওপেন করুন।
আপনার কীবোর্ড থেকে Ctrl + Shift + P চাপুন (Command Palette খুলবে)।
সার্চ বারে লিখুন: APKLab: Open an APK এবং এটি সিলেক্ট করুন।
আপনার পিসি থেকে যে APK ফাইলটি নিয়ে কাজ করতে চান সেটি সিলেক্ট করুন।
এরপর একটি পপ-আপ আসবে যেখানে আপনাকে কিছু অপশন (যেমন: apktool, jadx) সিলেক্ট করতে বলবে। সাধারণত ডিফল্ট যা আছে তা রেখে OK দিন।
আপনার ডিকম্পাইল করা প্রজেক্টে AndroidManifest.xml ফাইলটি ওপেন করুন।
নিচের লাইনগুলো খুঁজে বের করুন এবং সেগুলো ডিলিট করে দিন:
<uses-permission android:name="android.permission.INTERNET" />(এটি করলে অ্যাপের সব অনলাইন কাজ বন্ধ হয়ে যাবে)।অ্যাড সংক্রান্ত সার্ভিস যেমন:
com.google.android.gms.ads.AdActivityবা এই জাতীয়<activity>বা<service>ট্যাগগুলো ডিলিট করুন।
লেআউট ফাইলে 'Ads' এর অস্তিত্ব
আইডি ভুল থাকলেও অনেক সময় অ্যাড নেটওয়ার্কের ফ্রেমওয়ার্ক স্ক্রিনে জায়গা দখল করে রাখে বা ক্যাশ (Cache) থেকে অ্যাড দেখায়।
সমাধান:
res/layoutফোল্ডারের ফাইলগুলোতে গিয়েcom.google.android.gms.ads.AdViewবাAdViewলিখে সার্চ দিন। যেখানেই এই ট্যাগটি পাবেন, পুরো ব্লকটি ডিলিট করে দিন।<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:id="@id/layout"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="gone"
xmlns:android="http://schemas.android.com/apk/res/android" />
মেথড: Smali কোডে ব্যানার লোড বন্ধ করা (সবচেয়ে কার্যকর)
ব্যানার অ্যাড লোড হওয়ার জন্য জাভা কোডে
AdView.loadAd()মেথড ব্যবহার করা হয়। আমরা এই মেথডটিকেই অকেজো করে দেব।VS Code-এ
Ctrl + Shift + Fচাপুন।সার্চ বারে লিখুন:
Lcom/google/android/gms/ads/AdView;->loadAdআপনি কিছু
.smaliফাইল খুঁজে পাবেন। ফাইলগুলো ওপেন করুন।flutterBannerAd.smaliএডিট করুনফাইলটি ওপেন করে
loadAdবাshowনামের মেথডটি খুঁজে বের করুন। সেখানে আপনি আগে যে কোডটি দেখেছিলেন, সেটি পরিবর্তন করে মেথডের একদম শুরুতেreturn-voidবসিয়ে দিন।.method load()V
.locals 4
# এই নিচের লাইনটি আমি যোগ করেছি। এটি পাওয়ার সাথে সাথে মেথডটি থেমে যাবে, নিচের কোনো কোড আর চলবে না।
return-void
.line 62
iget-object v0, p0, Lio/flutter/plugins/googlemobileads/FlutterBannerAd;->bannerAdCreator:Lio/flutter/plugins/googlemobileads/BannerAdCreator;
# ... বাকি সব কোড আগের মতোই থাকবে ...