TopOn
<h3>1、在项目中使用到topon的module或app的builde.gradle文件里添加依赖</h3>
<pre><code>implementation 'com.inveno.library:TopOn:1.1.8-SNAPSHOT'
//implementation 'com.google.code.gson:gson:2.8.6' 若工程已有依赖gson,则不用添加</code></pre>
<h3>2、在app的builde.grable文件下添加配置</h3>
<pre><code>android {
defaultConfig {
//省略其他...
ndk {
// 添加项目所需CPU类型的最小集
abiFilters "armeabi-v7a" //, "armeabi","x86"
}
multiDexEnabled true
}
}</code></pre>
<p>如果有用到androidX,则在根目录的gradle.properties文件里添加以下</p>
<pre><code>android.useAndroidX=true
android.enableJetifier=true</code></pre>
<h3>3、混淆</h3>
<pre><code>#----- TopOn start -----
-keep class com.bytedance.sdk.openadsdk.** { *; }
-keep class com.bytedance.frameworks.** { *; }
-keep class ms.bd.c.Pgl.**{*;}
-keep class com.bytedance.mobsec.metasec.ml.**{*;}
-keep class com.ss.android.**{*;}
-keep class com.bytedance.embedapplog.** {*;}
-keep class com.bytedance.embed_dr.** {*;}
-keep class com.bykv.vk.** {*;}
-keep class org.chromium.** {*;}
-keep class org.chromium.** { *; }
-keep class aegon.chrome.** { *; }
-keep class com.kwai.**{ *; }
-dontwarn com.kwai.**
-dontwarn com.kwad.**
-dontwarn com.ksad.**
-dontwarn aegon.chrome.**
-keep class com.qq.e.** {
public protected *;
}
-keep class android.support.v4.**{
public *;
}
-keep class android.support.v7.**{
public *;
}
-keep class MTT.ThirdAppInfoNew {
*;
}
-keep class com.tencent.** {
*;
}
-dontwarn dalvik.**
-dontwarn com.tencent.smtt.**
# androidx
-keep class com.google.android.material.** {*;}
-keep class androidx.** {*;}
-keep public class * extends androidx.**
-keep interface androidx.** {*;}
-dontwarn com.google.android.material.**
-dontnote com.google.android.material.**
-dontwarn androidx.**
# android.support.v4
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.** { *; }
-keep public class * extends android.support.v4.**
# WindAd
-keep class sun.misc.Unsafe { *; }
-dontwarn com.sigmob.**
-keep class com.sigmob.**.**{*;}
# miitmdid
-dontwarn com.bun.**
-keep class com.bun.** {*;}
-keep class a.**{*;}
-keep class XI.CA.XI.**{*;}
-keep class XI.K0.XI.**{*;}
-keep class XI.XI.K0.**{*;}
-keep class XI.vs.K0.**{*;}
-keep class XI.xo.XI.XI.**{*;}
-keep class com.asus.msa.SupplementaryDID.**{*;}
-keep class com.asus.msa.sdid.**{*;}
-keep class com.huawei.hms.ads.identifier.**{*;}
-keep class com.samsung.android.deviceidservice.**{*;}
-keep class com.zui.opendeviceidlibrary.**{*;}
-keep class org.json.**{*;}
-keep public class com.netease.nis.sdkwrapper.Utils {public <methods>;}
#----- TopOn end -----</code></pre>
<h3>4、清单文件添加android:requestLegacyExternalStorage="true"</h3>
<pre><code><?xml version="1.0" encoding="utf-8"?>
<manifest>
<application
android:requestLegacyExternalStorage="true">
</application>
</manifest></code></pre>
<h3>5、在application类初始化</h3>
<pre><code>//Android 9及以上必须设置
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
val processName = getProcessName()
if (!getPackageName().equals(processName)) {
WebView.setDataDirectorySuffix(processName)
}
}
TopOnManager.init(this,"appid","appKey",isDebug)</code></pre>
<h3>6、使用</h3>
<p><a href="https://www.showdoc.com.cn/inveno/7895063947797763" title="参考AdverHelper">[参考广告框架]</a></p>