首页 > 解决方案 > 检测到盗版 Android 应用程序中添加的库?

问题描述

从我的崩溃报告中可以看出,有些人盗版了我的应用程序并添加了广告以将其货币化。

崩溃报告中的堆栈跟踪似乎显示了对库的大量调用以显示插页式广告?

我可以添加代码来检测 com.test.ylh 或 com.qq.e 库的存在吗?

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@da2c866 is not valid; is your activity running?
  at android.view.ViewRootImpl.setView(ViewRootImpl.java:1126)
  at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:439)
  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:95)
  at android.app.Dialog.show(Dialog.java:473)
  at com.qq.e.comm.plugin.intersitial2.e.a(A:315)
  at com.qq.e.comm.plugin.intersitial2.e.show(A:113)
  at com.qq.e.comm.plugin.intersitial2.e.show(A:107)
  at com.qq.e.comm.plugin.intersitial2.d.show(A:35)
  at com.qq.e.ads.interstitial2.UnifiedInterstitialAD.show(Unknown Source:4)
  at com.test.ylh.InterAd$2.run(InterAd.java:53)
  at android.app.Activity.runOnUiThread(Activity.java:6972)
  at com.test.ylh.InterAd.showAd(InterAd.java:50)
  at com.test.ylh.InterAd.onADReceive(InterAd.java:108)
  at com.qq.e.comm.plugin.intersitial2.a$1.run(A:169)
  at android.os.Handler.handleCallback(Handler.java:883)
  at android.os.Handler.dispatchMessage(Handler.java:100)
  at android.os.Looper.loop(Looper.java:237)
  at android.app.ActivityThread.main(ActivityThread.java:7860)
  at java.lang.reflect.Method.invoke(Method.java:-2)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

标签: android

解决方案


您可以使用此处所述的方法检查类是否存在:如何检查类是否存在于包中的某处?

但是,他们也可以在重新编译应用程序时删除该检查。所以不会密不透风。您可以通过添加适当的代码混淆来使“海盗”变得更加困难:https ://developer.android.com/studio/build/shrink-code#obfuscate


推荐阅读