LikeView中的java.lang.ClassNotFoundException

时间:2015-06-15 11:16:08

标签: android

我正在使用facebook之类的按钮,但我在我的应用中遇到了这个问题。首先,当我点击likebutton时,没有任何事情发生,app关闭,然后第二次抛出异常错误。

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.widget.LikeView" on path: DexPathList[[zip file "/data/app/com.example.mine4.pantryrecipes-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.mine4.pantryrecipes-1, /vendor/lib, /system/lib]]
            at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
            at android.view.LayoutInflater.createView(LayoutInflater.java:552)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:274)
            at android.app.Activity.setContentView(Activity.java:1881)
            at com.example.mine4.pantryrecipes.BeefR1.onCreate(BeefR1.java:36)
            at android.app.Activity.performCreate(Activity.java:5122)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1150)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2315)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
            at android.app.ActivityThread.access$600(ActivityThread.java:165)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
            at android.os.Handler.dispatchMessage(Handler.java:107)
            at android.os.Looper.loop(Looper.java:194)
            at android.app.ActivityThread.main(ActivityThread.java:5391)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
            at dalvik.system.NativeStart.main(Native Method)

这是我在XML中的likeview代码。

 <com.facebook.widget.LikeView
                android:id="@+id/like_view"
                android:layout_width="250dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="30dp" />

这是我分享Facebook的显示代码。

<activity android:name="com.facebook.FacebookActivity"
            android:configChanges=
                "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:label="@string/app_name" />
<provider
            android:authorities="com.facebook.app.FacebookContentProvider760413047410118"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true" />

<meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="760413047410118"/>

我没有得到我的问题,请告诉我,这是onCreate方法。

FacebookSdk.sdkInitialize(getApplicationContext());
LikeView likeView = (LikeView) findViewById(R.id.like_view);
likeView.setObjectIdAndType( "https://www.facebook.com/junaidsaif786",
                LikeView.ObjectType.PAGE);

2 个答案:

答案 0 :(得分:1)

请按照以下步骤操作:

  1. 从gradle
  2. 中的依赖项中删除了compile 'com.facebook.android:facebook-android-sdk:3.21.1'
  3. 同步它
  4. 再次添加相同的依赖
  5. 再次同步
  6. 可以从此链接获取帮助

    http://programmerguru.com/android-tutorial/how-to-add-facebook-like-button-in-android-applications/

    用作:

     <com.facebook.share.widget.LikeView
                android:id="@+id/like_view"
                    android:layout_width="250dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:layout_marginTop="30dp"/>
    

    希望,它会帮助你!!

答案 1 :(得分:1)

我花了好几个小时研究同样的问题。最后通过在.xml文件中更改LikeView的包名来找到解决方案。将xml文件中的com.facebook.widget.LikeView类更改为

com.facebook.share.widget.LikeView

供我参考,我在build.gradle中使用了以下facebook sdk

compile 'com.facebook.android:facebook-android-sdk:4.+'