Millennial Media集成android - noSuchMethod:getRealMetrics

时间:2014-05-25 21:13:12

标签: java android millennial-media

只是尝试整合MillennialMedia广告网络,以便通过我的应用获利。 我做了所有必要的事情。但它在logcat中给了我这个错误(我用Google搜索了1h并没有找到其他人解决这个问题......):

05-25 23:00:14.437: E/MMSDK-MMSDK(29250): Error calling getRealMetrics: java.lang.NoSuchMethodException: getRealMetrics []
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at java.lang.Class.getConstructorOrMethod(Class.java)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at java.lang.Class.getMethod(Class.java)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.getMetrics(MMSDK.java:1075)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.getDensity(MMSDK.java:742)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.getDensityString(MMSDK.java:736)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.insertUrlCommonValues(MMSDK.java:877)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.HandShake$1.run(HandShake.java:333)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)
05-25 23:00:14.437: E/MMSDK-MMSDK(29250):   at java.lang.Thread.run(Thread.java)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250): Error calling getRealMetrics: java.lang.NoSuchMethodException: getRealMetrics []
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at java.lang.Class.getConstructorOrMethod(Class.java)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at java.lang.Class.getMethod(Class.java)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.getMetrics(MMSDK.java:1075)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.getDpiHeight(MMSDK.java:1094)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.insertUrlCommonValues(MMSDK.java:878)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.HandShake$1.run(HandShake.java:333)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)
05-25 23:00:14.442: E/MMSDK-MMSDK(29250):   at java.lang.Thread.run(Thread.java)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250): Error calling getRealMetrics: java.lang.NoSuchMethodException: getRealMetrics []
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at java.lang.Class.getConstructorOrMethod(Class.java)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at java.lang.Class.getMethod(Class.java)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.getMetrics(MMSDK.java:1075)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.getDpiWidth(MMSDK.java:1065)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.MMSDK.insertUrlCommonValues(MMSDK.java:879)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at com.millennialmedia.android.HandShake$1.run(HandShake.java:333)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)
05-25 23:00:14.447: E/MMSDK-MMSDK(29250):   at java.lang.Thread.run(Thread.java)
05-25 23:00:14.447: E/MMSDK-HandShake(29250): Could not get a handshake. : java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist.  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" />
05-25 23:00:14.447: E/MMSDK-HandShake(29250):   at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source)
05-25 23:00:14.447: E/MMSDK-HandShake(29250):   at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
05-25 23:00:14.447: E/MMSDK-HandShake(29250):   at com.millennialmedia.android.MMSDK.insertUrlCommonValues(MMSDK.java:893)
05-25 23:00:14.447: E/MMSDK-HandShake(29250):   at com.millennialmedia.android.HandShake$1.run(HandShake.java:333)
05-25 23:00:14.447: E/MMSDK-HandShake(29250):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)
05-25 23:00:14.447: E/MMSDK-HandShake(29250):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)
05-25 23:00:14.447: E/MMSDK-HandShake(29250):   at java.lang.Thread.run(Thread.java)

那是我的logcat,这是我使用的代码:

MMSDK.initialize(this);

    MMRequest request = new MMRequest();
    interstitial = new MMInterstitial(this);
    interstitial.setMMRequest(request);
    interstitial.setApid("163665");
    interstitial.setListener(new RequestListenerImpl() {
        @Override
        public void requestCompleted(MMAd mmAd) {
           interstitial.display();
        }
    });
    interstitial.fetch();

那就是我的代码,我完全不知道什么是假的。有人能解释我的错吗?那对你来说非常好。感谢。

3 个答案:

答案 0 :(得分:0)

对不起伙计们,我突然没有这个:

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

    <activity android:name="com.millennialmedia.android.MMActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" 
    android:configChanges="keyboardHidden|orientation|keyboard" ></activity>

在我的清单中所以它没有用...我不知道为什么,但现在我的应用程序显示广告!错误仍然存​​在,就像安迪说的那样,但如果所有必要的事情都有效......感谢所有人特别感谢那些提醒我调查我的清单的人!

答案 1 :(得分:0)

对于有这些错误的其他人:

我通过电子邮件发送了客户服务,他们发现错误出现在较新版本的Android(我认为4.4+)上,但它们不会影响加载或展示的广告

答案 2 :(得分:0)

在Millennial的Android SDK 5.2版本中,它通过内省到达Android SDK的更高版本中添加的方法,并将logex的异常注销到透明和调试目的。

您可能会在logcat中看到 setMediaPlaybackRequiresUserGesture setLayerType 的类似例外情况,具体取决于正在编译的Android SDK版本和实际手机的Android版本

无论如何,所有这些都是处理例外:他们不会崩溃任何应用程序或扰乱任何崩溃报告服务。而且,尽管有音量和噪音,但它们不会影响用户体验。

有超过一些电子邮件指出这一点,我们正在采取提示并对5.3进行一些更改。

如果有人需要更多信息,请随时联系Millennial-- https://tools.mmedia.com/user/supportDevPortal