VFY:无法在IntelliJ IDEA中找到签名中引用的类

时间:2013-07-18 23:14:52

标签: android intellij-idea

我的Android项目中有一个jar库,在运行应用程序时我开始遇到很多错误:

VFY: unable to find class referenced in signature <...>
Failed resolving Lcom/mad/ad/AdWhirlMadAdapter; interface 835 'Lcom/adwhirl/AdWhirlLayout$AdWhirlInterface;'
Link of class 'Lcom/mad/ad/AdWhirlMadAdapter;' failed

我见过很多类似的问题,但解决方案是针对Eclipse的,我使用的是IntelliJ IDEA 12.如何解决?

2 个答案:

答案 0 :(得分:1)

来自adwhirl.com的报价

  

重要通知:我们将于2013年9月30日退休AdWhirl   网络中介可以使用AdMob Mediation进行管理,免费和   具有网络级报告功能,国家级功能的强大工具   分配和支持更多广告格式。在此注册并关注   这些步骤可将您的展示位置导入AdMob。

MADNET不再支持AdWhirl中介,请使用AdMob中介。

  • 可以找到新版本的库 - MADNET SDK 5187v
  • 用户指南 - MADNET SDK Guide 5187v(您可以对此文档发表评论)。
  • 请注意广告空间生命周期(在指南中)的变化。
  • 从您的清单中删除OpenUDID和MadProvider。

答案 1 :(得分:1)

如果您使用proguard构建应用程序,那么您应该将MADNET SDK的类保持为公共类。要执行此操作,只需将以下字符串添加到proguard文件中:

-keep public class com.mad.** {
  public protected *;
}

此外,如果您使用AdMob或AdWhirl中介,请将其添加到proguard排除项中,例如:

-keep public class com.google.ads.** {
  public protected *;
}

请同时检查AdMob中介的xml设置

<com.mad.ad.AdMobFloatingLayout
     xmlns:mad="http://schemas.android.com/apk/lib/com.mad.ad"
     xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
     android:id="@+id/adFloatingLayout"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"

     mad:admobExtraLabel = "mAdtestevent"
     ads:adSize="BANNER"       
     ads:adUnitId="e1a33043e60c4126">

     <ListView
         android:id="@android:id/list"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         />
 </com.mad.ad.AdMobFloatingLayout>

这里: mad:admobExtraLabel - 在AdMob网站上指定的customEvent标签 广告:adSize - 适用于Google广告的AdSize。 广告:adUnitId - 您的中介ID。

可以通过Skype来调用,以加速解决问题吗?