首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ClassNotFoundException mopub in my FragmentActivity

ClassNotFoundException mopub in my FragmentActivity
EN

Stack Overflow用户
提问于 2014-12-06 10:22:57
回答 3查看 1.5K关注 0票数 2

我正在尝试将mopub添加到我的应用程序中。我通过AndroidStudio插件安装了sdk。并将其添加到我的xml中。

代码语言:javascript
复制
 <com.mopub.mobileads.mopubview
   android:id="@+id/adview"
    android:layout_alignParentBottom="true"
    android:layout_width="fill_parent"
    android:layout_height="50dp">
</com.mopub.mobileads.mopubview>

但它给了我这些错误:

代码语言:javascript
复制
The following classes could not be found:
- com.mopub.mobileads.mopubview (Fix Build Path, Create Class)

当我运行这个应用程序时,它会崩溃:

无法启动活动ComponentInfo{com.example.hroshandel.myapplication/com.example.hroshandel.myapplication.SimpleIntro_FragmentActivity}:android.view.InflateException:二进制XML文件行#15:错误充气类com.mopub.mobileads.mopubview 由: android.view.InflateException:二进制XML文件行#15:错误充气类com.mopub.mobileads.mopubview引起 在com.example.hroshandel.myapplication.SimpleIntro_FragmentActivity.onCreate(SimpleIntro_FragmentActivity.java:20) 原因: java.lang.ClassNotFoundException:没有在路径上找到类"com.mopub.mobileads.mopubview“:DexPathList[zip文件DexPathList/供应商/lib,/system/lib]

EN

回答 3

Stack Overflow用户

发布于 2015-05-26 15:08:27

请检查类名的错误,这是一个天才在文档中写道:

代码语言:javascript
复制
<com.mopub.mobileads.mopubview
   android:id="@+id/adview"
    android:layout_alignParentBottom="true"
    android:layout_width="fill_parent"
    android:layout_height="50dp">
</com.mopub.mobileads.mopubview>

但正确的类名是:

代码语言:javascript
复制
    <com.mopub.mobileads.MoPubView> ... </com.mopub.mobileads.MoPubView>
票数 7
EN

Stack Overflow用户

发布于 2014-12-29 04:27:55

就像上面的答案中提到的那样,你必须修复你的梯度。但除此之外,我还有同样的错误信息,运行这个应用程序,下面是我如何绕过它的方法:

  1. 删除对MoPub视图的设计时间引用。

代码语言:javascript
复制
    <com.mopub.mobileads.mopubview
       android:id="@+id/adview"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:layout_height="50dp">
    </com.mopub.mobileads.mopubview>
  1. 取而代之的是放个容器。我选择使用FrameLayout:

代码语言:javascript
复制
    <FrameLayout
    android:id="@+id/adContainer"
    android:layout_width="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_height="50dp">
    </FrameLayout>
  1. 在该活动中,通过实例化MoPubView、分配和加载广告,然后使用BannerAdListener onBannerLoaded事件将其添加到adContainer中,以编程方式加载了它:

代码语言:javascript
复制
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Fabric.with(this, new Crashlytics()); // optional library
        setContentView(R.layout.main_activity);
        ButterKnife.inject(this); // optional, used to inject views e.g. adContainer

        MoPubView moPubView = new MoPubView(this);

        moPubView.setAdUnitId("ad unit id");
        moPubView.loadAd();
        moPubView.setBannerAdListener(new MoPubView.BannerAdListener() {
            @Override
            public void onBannerLoaded(MoPubView moPubView) {
                Log.d(TAG, "Banner loaded");
                try {
                    mAdContainer.addView(moPubView);
                }
                catch(Exception ex){
                    Log.d(TAG, "Error loading banner add to container");
                }
            }

            @Override
            public void onBannerFailed(MoPubView moPubView, MoPubErrorCode moPubErrorCode) {
                Log.d(TAG, "Banner failed");
            }

            @Override
            public void onBannerClicked(MoPubView moPubView) {
                Log.d(TAG, "Banner clicked");
            }

            @Override
            public void onBannerExpanded(MoPubView moPubView) {
                Log.d(TAG, "Banner expanded");
            }

            @Override
            public void onBannerCollapsed(MoPubView moPubView) {
                Log.d(TAG, "Banner collapsed");
            }
        });
票数 3
EN

Stack Overflow用户

发布于 2014-12-06 18:55:44

明显的问题是,您遵循了安装过程https://dev.twitter.com/mopub/android/getting-started吗?

编辑:

有格拉德尔

复制到您的项目中

代码语言:javascript
复制
$MY_PROJECT_DIR $ mkdir mopub-sdk
$MY_PROJECT_DIR $ cp -R $MOPUB_DIR/mopub-android-sdk/mopub-sdk mopub-sdk

添加到您的build.gradle

代码语言:javascript
复制
include ':app', ':mopub-sdk'
dependencies { compile project(':mopub-sdk') }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27330635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档