Android 去除各种厂家广告合集
目录
工具
AndroidManifest
关闭Google全屏广告
隐藏Google横幅广告
去除Google广告
去除Facebook广告
去除UnityAds广告
去除MoPub广告
去除穿山甲平台广告
去除Start.io广告
去除Stack Appodeal广告
去除Chartboost广告
去除Applovin广告
去除Ogury广告
去除iron广告
去除Amazon广告
去除inmobi广告
去除Smaato广告
去除Tapjoy广告
去除AdColony广告
去除HyprMX广告
去除OneSignal广告
去除appnext广告
去除TradPlus广告
去除yandex广告
去除Vungle广告
去除Yodo1Mas广告
去除solodroid广告
工具
apktool;任意编辑器或IDE
用apktool将apk反编译为smail文件,修改smail,最后重新编译成apk
AndroidManifest
AndroidManifest.xml文件中搜索ads关键字
删除相关信息
关闭Google全屏广告
com.google.android.gms.ads.AdActivity
.method protected onCreate(Landroid/os/Bundle;)V.locals 1invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)Vinvoke-virtual {p0}, Landroid/app/Activity;->finish()Vreturn-void.end method
隐藏Google横幅广告
com.google.android.gms.ads.BaseAdView
The ad size can only be set once on AdView
The ad unit ID can only be set once on AdView.
.method public onLayout(ZIIII)V.locals 2const/4 p1, 0x0invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;move-result-object p1const/16 v1, 0x8invoke-virtual {p1, v1}, Landroid/view/View;->setVisibility(I)Vif-eqz p1, :cond_0invoke-virtual {p1}, Landroid/view/View;->getVisibility()Imove-result v0const/16 v1, 0x8if-eq v0, v1, :cond_0invoke-virtual {p1}, Landroid/view/View;->getMeasuredWidth()Imove-result v0invoke-virtual {p1}, Landroid/view/View;->getMeasuredHeight()Imove-result v1sub-int/2addr p4, p2sub-int/2addr p4, v0div-int/lit8 p4, p4, 0x2sub-int/2addr p5, p3sub-int/2addr p5, v1div-int/lit8 p5, p5, 0x2add-int/2addr v0, p4add-int/2addr v1, p5invoke-virtual {p1, p4, p5, v0, v1}, Landroid/view/View;->layout(IIII)V:cond_0return-void
.end method
去除Google广告
googleAdViewId为ad_container
首先在AndroidManifest.xml文件内搜索ads关键字,将关于com.google.android.gms.ads的标签全部删除
去除后直接打包运行会崩溃
全局搜索
You must have the following declaration within the <application> element: <meta-data android:name=\"com.google.android.gms.version\" android:value=\"@integer/google_play_services_version\" />
或
You must have the following declaration with
搜索结果可能会出现多个
找到方法结尾为 (Landroid/content/Context;I)I 的方法
或IllegalStateException异常
定位该方法
使其返回0
示例
com.google.android.gms.common.GooglePlayServicesUtilLight
.method public static isGooglePlayServicesAvailable(Landroid/content/Context;I)I.locals 3.annotation runtime Ljava/lang/Deprecated;.end annotationconst/4 v0, 0x0return v0
.end method
或定位
com.google.android.gms.ads.MobileAds
清除其中
initialize
admob_appopen
com.google.android.gms.ads.appopen.AppOpenAd
public static void load(final Context context, final String str, final AdRequest adRequest, final int i, final AppOpenAdLoadCallback appOpenAdLoadCallback) {Preconditions.checkNotNull(context, "Context cannot be null.");Preconditions.checkNotNull(str, "adUnitId cannot be null.");Preconditions.checkNotNull(adRequest, "AdRequest cannot be null.");Preconditions.checkMainThread("#008 Must be called on the main UI thread.");zzbhz.zzc(context);if (((Boolean) zzbjn.zzd.zze()).booleanValue()) {if (((Boolean) zzay.zzc().zzb(zzbhz.zziv)).booleanValue()) {zzcex.zzb.execute(new Runnable() { // from class: com.google.android.gms.ads.appopen.zzb@Override // java.lang.Runnablepublic final void run() {Context context2 = context;String str2 = str;AdRequest adRequest2 = adRequest;try {new zzbco(context2, str2, adRequest2.zza(), i, appOpenAdLoadCallback).zza();} catch (IllegalStateException e) {zzbyy.zza(context2).zzd(e, "AppOpenAd.load");}}});return;}}new zzbco(context, str, adRequest.zza(), i, appOpenAdLoadCallback).zza();}
admob_banner
com.google.android.gms.ads.BaseAdView
public void setAdUnitId(String str) {this.zza.zzu(str);}public final void zzu(String str) {if (this.zzl == null) {this.zzl = str;return;}throw new IllegalStateException("The ad unit ID can only be set once on AdView.");}
public void loadAd(final AdRequest adRequest) {Preconditions.checkMainThread("#008 Must be called on the main UI thread.");zzbhz.zzc(getContext());if (((Boolean) zzbjn.zze.zze()).booleanValue()) {if (((Boolean) zzay.zzc().zzb(zzbhz.zziv)).booleanValue()) {zzcex.zzb.execute(new Runnable() { // from class: com.google.android.gms.ads.zzc@Override // java.lang.Runnablepublic final void run() {BaseAdView baseAdView = BaseAdView.this;try {baseAdView.zza.zzm(adRequest.zza());} catch (IllegalStateException e) {zzbyy.zza(baseAdView.getContext()).zzd(e, "BaseAdView.loadAd");}}});return;}}this.zza.zzm(adRequest.zza());}
admob_inter
com.google.android.gms.ads.interstitial.InterstitialAd
public static void load(final Context context, final String str, final AdRequest adRequest, final InterstitialAdLoadCallback interstitialAdLoadCallback) {Preconditions.checkNotNull(context, "Context cannot be null.");Preconditions.checkNotNull(str, "AdUnitId cannot be null.");Preconditions.checkNotNull(adRequest, "AdRequest cannot be null.");Preconditions.checkNotNull(interstitialAdLoadCallback, "LoadCallback cannot be null.");Preconditions.checkMainThread("#008 Must be called on the main UI thread.");zzbhz.zzc(context);if (((Boolean) zzbjn.zzf.zze()).booleanValue()) {if (((Boolean) zzay.zzc().zzb(zzbhz.zziv)).booleanValue()) {zzcex.zzb.execute(new Runnable() { // from class: com.google.android.gms.ads.interstitial.zza@Override // java.lang.Runnablepublic final void run() {Context context2 = context;String str2 = str;AdRequest adRequest2 = adRequest;try {new zzbrc(context2, str2).zza(adRequest2.zza(), interstitialAdLoadCallback);} catch (IllegalStateException e) {zzbyy.zza(context2).zzd(e, "InterstitialAd.load");}}});return;}}new zzbrc(context, str).zza(adRequest.zza(), interstitialAdLoadCallback);}
admob_native
com.google.android.gms.ads.AdLoader.Builder
public Builder(Context context, String str) {zzbo zzc = zzaw.zza().zzc(context, str, new zzbtx());this.zza = (Context) Preconditions.checkNotNull(context, "context cannot be null");this.zzb = zzc;}
com.google.android.gms.ads.AdLoader
private final void zzb(final zzdr zzdrVar) {zzbhz.zzc(this.zzb);if (((Boolean) zzbjn.zzc.zze()).booleanValue()) {if (((Boolean) zzay.zzc().zzb(zzbhz.zziv)).booleanValue()) {zzcex.zzb.execute(new Runnable() { // from class: com.google.android.gms.ads.zza@Override // java.lang.Runnablepublic final void run() {AdLoader.this.zza(zzdrVar);}});return;}}try {this.zzc.zzg(this.zza.zza(this.zzb, zzdrVar));} catch (RemoteException e) {zzcfi.zzh("Failed to load ad.", e);}}
去除Facebook广告
搜索
You must call AudienceNetworkAds.buildInitSettings(Context).initialize() before you can use Audience Network SDK.
定位其中
initialize
去除UnityAds广告
定位
com.unity3d.ads.UnityAds
文件
清空其中的
initialize;load;show
方法使其无效即可
或定位
com.unity3d.services.UnityServices
文件
清空其中
initialize
方法使其无效即可
去除MoPub广告
定位
com.mopub.common.MoPub
文件
清空其中
initializeSdk
方法
去除穿山甲平台广告
定位
com.bytedance.sdk.openadsdk.TTAdSdk
文件
清空其中
init
方法
去除Start.io广告
全局搜索
inAppPurchaseAmount
或定位
com.startapp.sdk.adsbase.StartAppSDK
com.startapp.android.publish.adsCommon.StartAppSDK
文件
清空其中的
init
方法
去除Stack Appodeal广告
定位
com.appodeal.ads.Appodeal
文件
清空其中的
initialize
方法
去除Chartboost广告
定位
com.chartboost.sdk.Chartboost
文件
清空其中
startWithAppId
方法
去除Applovin广告
定位
com.applovin.sdk.AppLovinSdk
文件
清空其中
initializeSdk
方法
全局搜索
Unable to find AppLovin SDK key. Please add meta-data android:name=\"applovin.sdk.key\" android:value=\"YOUR_SDK_KEY_HERE\" into AndroidManifest.xml.
清空其中方法
Manifest文件内搜索
<meta-data android:name="applovin.sdk.key"
将其删除
去除Ogury广告
全局搜索
Presage
或定位
io.presage.Presage.start
清空其方法
io.presage.common.PresageSdk.init
去除iron广告
全局搜索
Lcom/ironsource/mediationsdk/IronSource;
.field public static final DataSource_MOPUB:Ljava/lang/String; = "MoPub"
init() must be called before loadInterstitial()
定位清空方法其中
public synchronized void init(Activity
public varargs declared-synchronized init(Landroid/app/Activity;
去除Amazon广告
定位
com.amazon.device.ads
清空其中
setAppKey
去除inmobi广告
定位
com.inmobi.sdk
或搜索
com.inmobi.rendering.InMobiAdActivity
清空其中
init
去除Smaato广告
定位
com.smaato.sdk.core.SmaatoSdk
或搜索
Parameter publisherId cannot be empty for SmaatoSdk::init
清空其中
init
去除Tapjoy广告
定位
com.tapjoy.Tapjoy
修改其中
connect
去除AdColony广告
定位
Cannot configure AdColony; configuration mechanism requires 5
Ignoring call to AdColony.getZone() as AdColony has not yet been
com.adcolony.sdk.AdColony
修改其中
configure
去除HyprMX广告
定位
com.hyprmx.android.sdk.initialization.InitializationController
"const HYPRInitializationController = new InitializationController(\""
\"); HYPRInitializationController.initialize(\'
HYPRInitializationController.javascriptUpgradeFailed(\
清空其中
initialize
方法
去除OneSignal广告
定位
com.onesignal.OneSignal
onesignal_app_id
OneSignal SDK initialization delayed, user privacy consent is set to required for this application.
Starting OneSignal initialization
清空其中
init
方法
去除appnext广告
定位
com.appnext.base.Appnext
Cannot init Appnext with null context
清空其中
init
方法
去除TradPlus广告
定位
com.tradplus.ads.base.GlobalTradPlus
GlobalTradPlus getLocalParam coppa:
清空其中
initTradPlusSdk
或
com.tradplus.ads.mobileads.TradPlus
facebook,admob and china plugin can not be together
com.tradplus.china.api.TPChinaSDKHandler
GDPR level setting error!!! Level must be PERSONALIZED or NONPERSONALIZED.
setGDPRDataCollection: context should not be null
清空其中
initSDK
去除yandex广告
定位
com.yandex.mobile.ads.common.MobileAds
清空其中
initialize
去除Vungle广告
定位
com.vungle.warren.Vungle
清空其中
init
去除Yodo1Mas广告
定位
com.yodo1.mas.Yodo1Mas
清空其中
init
去除solodroid广告
定位
is selected as Primary Ads
com.solodroid.ads.sdk.format.Initialize
清空其中
initAds
initBackupAds
Android 去除各种厂家广告合集相关推荐
- 激发创意的35个超经典广告合集
超经典的广告合集.好的广告是品牌增值的有效手段,看这些精彩的设计如何能激荡你的创意吧! Smoking Arm Pringles Pepper Nestea Eurostar Toyota Camry ...
- Android开发推荐资料大合集 【转载自51CTO】
Android开发资料大集合 Android开发问题集锦1~6集合 http://down.51cto.com/data/440230 Android画图学习 http://down.51cto.co ...
- Android 21mod,熊猫博士小镇合集 Mod
游戏介绍 打通30个独具特色的区域界限,探索并发掘各式各样的奇妙冒险! 开启乐趣无限的冒险! 想成为一名维护正义的警察,或经营一间自己的美发沙龙,或成为一名救治动物的兽医?在熊猫博士小镇中,一切你说了 ...
- Android Studio 小技巧/快捷键 合集
原文链接: Android Studio Tips by Philippe Breault 原文作者 : Philippe Breault 译文出自 : 掘金翻译计划 译者 : Jaeger, Bru ...
- Excel表中查找、去除重复项方法合集
第一种,主选项卡开始->条件格式->突出显示单元格规则->重复值. 第二种,主选项卡下,高级筛选,也可以去除重复项,但是这个时候的重复项就是完全重复的才会去除. 第三种,可以在需要做 ...
- Android渗透测试工具大合集
Android传承着Linux的血统,无疑使渗透 从机器端到各种终端,使用起来更加方便,工具集中了众多方法,大大提高了渗透的效率(当然不推荐傻瓜式工具,这里只是入门,高手勿喷,初学者了解) 大名鼎鼎的 ...
- android自定义弹框效果合集,android 自定义弹出框AlertDialog ,很炫的哦
于是就小小的模仿了下自己写了这个这样的效果, 主要代码如下: dlg = new AlertDialog.Builder(context).create(); dlg.show(); dlg.getW ...
- Android开发推荐资料大合集
http://bbs.51cto.com/thread-937263-1.html 转载于:https://blog.51cto.com/6297123/1094880
- 2017下半年掘金日报优质文章合集:Android篇,android开发工程师
GitHub 整理|那些优秀的开源时间日期选择器,总有一款适合你 Android程序员搭建一个属于自己的服务器,不再求各种公共API XRadarView 一个可高度自定义的雷达图控件 手把手教你写高 ...
- 2017下半年掘金日报优质文章合集:Android篇,靠着这份190页的面试资料
在掘金微信群里的小伙伴应该都有看每日小报吧!这是小饼每天为大家精选的优质掘金文章(大家都很爱学习,我已经跟不上了QAQ-)小饼已经被N位群友连续几周催着出小报合集了,2017年马上就要结束了,拖延症绝 ...
最新文章
- 边缘计算用java_物联网技术和边缘计算
- 【机器学习】一文深层解决模型过拟合
- wp7技术类网站汇总
- Git submodule的使用
- FreeRADIUS 测试环境搭建
- php键盘输入函数,php的常用输入语句以及常用函数
- IPC--进程间通信二(命名管道)
- could not connect to server: No route to host 	Is the server running on host 192.168.163.181 and a
- 我也有了博客了,呵呵~~
- (Oracle)数据量统计存储过程
- 微信小程序模板订阅消息推送
- cmd 、java获取硬盘的序列号(serialnumber)物理地址 和磁盘ID逻辑地址
- 【Flash动画制作】
- Windows10下美化字体,达到类似mac的效果
- 磊科路由器信号按键_磊科怎么隐藏wifi信号 磊科路由器如何隐藏wifi信号?-192路由网...
- 【解决方案】国标GB28181视频监控平台国标流媒体服务器EasyGBS如何实现安保行业日常巡查视频监控系统解决方案?
- 深兰科技出席“2022世界设计之都大会”,论剑工业设计高峰论坛
- office安装包百度云
- linux使用sts4,视听说sts4-4
- libsvm安装使用及网格搜索法参数寻优