我有一个使用mopub进行广告的项目。它设置为使用Google AdMob和Millennial Media第三方广告。我按照以下说明进行了操作:
http://help.mopub.com/customer/portal/articles/1049608-simple-ads-demo---android-2-4-integrating
当我从eclipse运行应用程序时,能够在设备上运行应用程序(nexus 7)时显示广告。但是,如果我导出应用程序并将apk安装到设备上,则广告不起作用。来自设备的logcat会出现以下错误:
I/MoPub (30361): Fetching ad network type: millennial_native
I/MoPub (30361): Loading native ad
D/MoPub (30361): Couldn't find com.mopub.mobileads.MillennialAdapter class. Make sure the project includes the adapter library for com.mopub.mobileads.MillennialAdapter from the extras folder
I/MoPub (30361): Couldn't load native adapter. Trying next ad...
...
I/MoPub (30361): Fetching ad network type: admob_native
I/MoPub (30361): Loading native ad
D/MoPub (30361): Couldn't find com.mopub.mobileads.GoogleAdMobAdapter class. Make sure the project includes the adapter library for com.mopub.mobileads.GoogleAdMobAdapter from the extras folder
I/MoPub (30361): Couldn't load native adapter. Trying next ad...
似乎没有将库导出到apk中。根据:
http://tools.android.com/recent/dealingwithdependenciesinandroidprojects
lib目录中的jar文件应该自动导出到应用程序中。我已将这些库放在mopub项目和我的项目中。我还玩过将库添加到Build Path并确保选中导出复选框。一切都没有用。
我尝试将应用程序与mopub项目断开连接,只是添加已编译的mopub库并将其粘贴到我的应用程序的lib目录中,但是当我导出项目时,proguard会出错。
Proguard returned with error code 1. See console
Warning: com.mopub.mobileads.MraidView: can't find referenced class com.mopub.mobileads.R
You should check if you need to specify additional program jars.
Warning: there were 41 unresolved references to classes or interfaces.
You may need to specify additional library jars (using '-libraryjars').
java.io.IOException: Please correct the above warnings first.
at proguard.Initializer.execute(Initializer.java:321)
at proguard.ProGuard.initialize(ProGuard.java:211)
at proguard.ProGuard.execute(ProGuard.java:86)
at proguard.ProGuard.main(ProGuard.java:492)
同样,当我从eclipse运行它时,它可以在设备上运行,但是当我从apk安装它后运行它时,它不会运行。
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
一切都很好,你在libs文件夹中添加了原生Millennial和Admob SDK。问题是找不到适配器类(它们不在mmedia或admob jar中,它们是自定义的mopub类)。它们位于mopub SDK的extras \ src \ com \ mopub \ mobileads \ networkadapters文件夹中。将它们复制到项目com.mopub.mobileads
包中,如您在给定的mopub教程中所建议的那样。
答案 1 :(得分:1)
检查这些链接......那里有很多有用的信息用于基本集成和使用网络适配器:
答案 2 :(得分:0)
这已经很晚了,但我后来在另一个项目中发现,proguard正在删除这些库。找到正确的 - 已经修好了它。