简体   繁体   中英

Class com.facebook.FacebookActivity Not Found on Initialising Facebook SDK on Android

We are trying to integrate Facebook SDK in our project. We are not using (and won't) Android Studio. Facebook SDK is delivered as a .AAR file (dedicated to Android Studio). To be able to use it, as it is a simple .ZIP file, we have extracted required files (classes.jar, resources).

Following the documentation:

  • We have modified our AndroidManifest.xml to add meta-data, facebook activities.

  • We have modified our strings.xml to add a string .........

  • In our project.properties we have modified target to android-21 so that resources can be compiled

  • We are not using proguard

Then:

  • Compilation is finishing with no error

  • When calling FacebookSdk.sdkInitialise(....) we have a lock up and we are are receiving the following error in log:

     10-03 15:20:42.071: I/art(8735): Rejecting re-init on previously-failed class java.lang.Class<com.facebook.FacebookActivity> 10-03 15:20:42.071: I/art(8735): Rejecting re-init on previously-failed class java.lang.Class<com.facebook.FacebookActivity> 09-30 11:18:02.832: I/ActivityManager(776): Start proc 8618:com.mycompname.mygame/u0a699 for activity com.mycompname.mygame/.MyGameActivity 09-30 11:18:02.953: E/AndroidRuntime(8618): FATAL EXCEPTION: main 09-30 11:18:02.953: E/AndroidRuntime(8618): Process: com.mycompname.mygame, PID: 8618 09-30 11:18:02.953: E/AndroidRuntime(8618): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/facebook/FacebookActivity; 09-30 11:18:02.953: E/AndroidRuntime(8618): at com.facebook.internal.Validate.hasFacebookActivity(Validate.java:192) 09-30 11:18:02.953: E/AndroidRuntime(8618): at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:198) 09-30 11:18:02.953: E/AndroidRuntime(8618): at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:174) 09-30 11:18:02.953: E/AndroidRuntime(8618): at com.mycompname.mygame.MyGameActivityExtension.onMyGameActivityCreate(MyGameActivityExtension.java:36) 09-30 11:18:02.953: E/AndroidRuntime(8618): at com.mycompname.mygame.MyGameActivity.onCreate(MyGameActivity.java:641) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.app.Activity.performCreate(Activity.java:5990) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.app.ActivityThread.access$800(ActivityThread.java:151) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.os.Handler.dispatchMessage(Handler.java:102) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.os.Looper.loop(Looper.java:135) 09-30 11:18:02.953: E/AndroidRuntime(8618): at android.app.ActivityThread.main(ActivityThread.java:5254) 09-30 11:18:02.953: E/AndroidRuntime(8618): at java.lang.reflect.Method.invoke(Native Method) 09-30 11:18:02.953: E/AndroidRuntime(8618): at java.lang.reflect.Method.invoke(Method.java:372) 09-30 11:18:02.953: E/AndroidRuntime(8618): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 09-30 11:18:02.953: E/AndroidRuntime(8618): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 09-30 11:18:02.953: E/AndroidRuntime(8618): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.FacebookActivity" on path: DexPathList[[zip file "/data/app/com.mycompname.mygame-1/base.apk"],nativeLibraryDirectories=[/data/app/com.mycompname.mygame-1/lib/arm, /vendor/lib, /system/lib]] 09-30 11:18:02.953: E/AndroidRuntime(8618): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 09-30 11:18:02.953: E/AndroidRuntime(8618): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 09-30 11:18:02.953: E/AndroidRuntime(8618): at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 09-30 11:18:02.953: E/AndroidRuntime(8618): ... 18 more 09-30 11:18:02.953: E/AndroidRuntime(8618): Suppressed: java.lang.NoClassDefFoundError: com.facebook.FacebookActivity 09-30 11:18:02.953: E/AndroidRuntime(8618): at dalvik.system.DexFile.defineClassNative(Native Method) 09-30 11:18:02.953: E/AndroidRuntime(8618): at dalvik.system.DexFile.defineClass(DexFile.java:226) 09-30 11:18:02.953: E/AndroidRuntime(8618): at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219) 09-30 11:18:02.953: E/AndroidRuntime(8618): at dalvik.system.DexPathList.findClass(DexPathList.java:321) 09-30 11:18:02.953: E/AndroidRuntime(8618): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54) 09-30 11:18:02.953: E/AndroidRuntime(8618): ... 20 more 09-30 11:18:02.953: E/AndroidRuntime(8618): Suppressed: java.lang.ClassNotFoundException: com.facebook.FacebookActivity 09-30 11:18:02.953: E/AndroidRuntime(8618): at java.lang.Class.classForName(Native Method) 09-30 11:18:02.953: E/AndroidRuntime(8618): at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 09-30 11:18:02.953: E/AndroidRuntime(8618): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 09-30 11:18:02.953: E/AndroidRuntime(8618): at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 09-30 11:18:02.953: E/AndroidRuntime(8618): ... 19 more 09-30 11:18:02.953: E/AndroidRuntime(8618): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

Does anyone have any idea of what's going on?

As long as I know com.facebook.FacebookActivity is not a part of facebook sdk now.

It seams that they start to merge manifest file (or ever doesn't need any activity any more)

You could downgrade library version or remove com.facebook.FacebookActivity from manifest file. But be sure about correct manifest merging in this case

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM