【发布时间】:2019-08-17 07:20:42
【问题描述】:
我已按照Native Ads 中的说明实施了 Google 原生广告
它在除 Android 4.x 版本之外的所有设备上都能完美运行。控制台中的崩溃日志是
Non-fatal Exception: java.lang.IllegalArgumentException: Optimized data directory /storage/emulated/0/Android/data/com.myapp/cache is not owned by the current user. Shared storage cannot protect your application from code injection attacks.
at dalvik.system.DexFile.(DexFile.java:100)
at dalvik.system.DexFile.loadDex + 149(DexFile.java:149)
at dalvik.system.DexPathList.loadDexFile + 251(DexPathList.java:251)
at dalvik.system.DexPathList.makeDexElements + 219(DexPathList.java:219)
at dalvik.system.DexPathList.(DexPathList.java:96)
at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:56)
at dalvik.system.DexClassLoader.(DexClassLoader.java:57)
at ir.b + 31(ir.java:31)
at ir.a + 5(ir.java:5)
at iu.a + 1(iu.java:1)
at com.google.android.gms.ads.internal.ag.run + 5(ag.java:5)
at java.util.concurrent.ThreadPoolExecutor.runWorker + 1080(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run + 573(ThreadPoolExecutor.java:573)
at java.lang.Thread.run + 856(Thread.java:856)
从上面的崩溃中它显示为 优化的数据目录 /storage/emulated/0/Android/data/com.myapp/cache 不属于当前用户。 共享存储无法保护您的应用免受代码注入攻击
我有搜索相关的问题Android DexClassLoader error, 'optimized data directory .. not owned by current user',但它太老了,与 Admob 无关。如果我删除与原生广告相关的代码,那么它就会运行,否则它会崩溃并简单地记录在崩溃之上。
请注意,我的应用在 2019 年 8 月 13 日之前使用相同的 nativeAd 代码运行良好。之后它无法使用 NativeAd 代码。
请帮忙。
【问题讨论】:
标签: android admob native-ads