错误:必须在 AndroidManifest.xml 中设置有效的 Facebook 应用程序 ID

Posted

技术标签:

【中文标题】错误:必须在 AndroidManifest.xml 中设置有效的 Facebook 应用程序 ID【英文标题】:Error: A valid Facebook app id must be set in the AndroidManifest.xml 【发布时间】:2018-12-14 22:51:30 【问题描述】:

我关注这个video。我在移动设备小米 Redmi 4A 中运行的这个应用程序。 安装成功并显示此错误。我不明白为什么?我不能在这段代码中使用 Facebook。

错误:

在设备上成功同步应用程序 org.nativescript.pushnotify 8066aa497d24。 ActivityManager:启动过程 26158:org.nativescript.pushnotify/u0a238 用于活动 org.nativescript.pushnotify/com.tns.NativeScriptActivity caller=null 07-06 12:21:32.247 26158 26158 E androidRuntime: com.tns.Runtime.callJSMethodNative(Native Method) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethodImpl(Runtime.java:983) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethod(Runtime.java:970) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethod(Runtime.java:954) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethod(Runtime.java:946) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethodNative(Native Method) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethodImpl(Runtime.java:983) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethod(Runtime.java:970) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethod(Runtime.java:954) 07-06 12:21:32.247 26158 26158 E Android 运行时: com.tns.Runtime.callJSMethod(Runtime.java:946) 07-06 12:21:32.247 26158 26158 E AndroidRuntime: 在 com.tns.Runtime.callJSMethodNative(Native Method) 07-06 12:21:32.247 26158 26158 E AndroidRuntime: 在 com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) 07-06 12:21:32.247 26158 26158 E AndroidRuntime: 在 com.tns.Runtime.callJSMethodImpl(Runtime.java:983) 07-06 12:21:32.247 26158 26158 E AndroidRuntime: 在 com.tns.Runtime.callJSMethod(Runtime.java:970) 07-06 12:21:32.247 26158 26158 E AndroidRuntime: 在 com.tns.Runtime.callJSMethod(Runtime.java:954) 07-06 12:21:32.247 26158 26158 E AndroidRuntime: 在 com.tns.Runtime.callJSMethod(Runtime.java:946) System.err: java.lang.RuntimeException:无法启动活动 组件信息org.nativescript.pushnotify/com.tns.NativeScriptActivity: com.tns.NativeScriptException: System.err: 调用 js 方法 onCreate 失败 System.err:System.err:错误:必须是有效的 Facebook 应用程序 ID 在 AndroidManifest.xml 中设置或通过调用设置 FacebookSdk.setApplicationId 在初始化 sdk 之前。系统错误: com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:276) 系统错误: com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:232) System.err: com.tns.Runtime.callJSMethodNative(Native Method) 系统错误: com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) System.err: com.tns.Runtime.callJSMethodImpl(Runtime.java:983) System.err: com.tns.Runtime.callJSMethod(Runtime.java:970) System.err: com.tns.Runtime.callJSMethod(Runtime.java:954) System.err: com.tns.Runtime.callJSMethod(Runtime.java:946) 系统错误: com.tns.NativeScriptActivity.onCreate(NativeScriptActivity.java:18) System.err: android.app.Activity.performCreate(Activity.java:6875) 系统错误: android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 系统错误: android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659) 系统错误: android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) 系统错误: android.app.ActivityThread.-wrap12(ActivityThread.java) System.err: android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514) System.err: android.os.Handler.dispatchMessage(Handler.java:102) System.err: android.os.Looper.loop(Looper.java:163) System.err: android.app.ActivityThread.main(ActivityThread.java:6221) System.err: java.lang.reflect.Method.invoke(Native Method) System.err: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 系统错误: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) System.err:文件: “file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/nativescript-plugin-firebase/firebase.js, 行:331,列:41 System.err:System.err:StackTrace:System.err: 框架:函数:'runInit', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/nativescript-plugin-firebase/firebase.js', 行:331,列:42 System.err:帧: 功能:'Observable.notify', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/data/observable/observable.js', 行:110,列:23 System.err:帧:函数:'notifyLaunch', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:870,列:17 System.err:帧: 功能:'ActivityCallbacksImplementation.setActivityContent', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:803,列:28 System.err:帧: 功能:'ActivityCallbacksImplementation.onCreate', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:677,列:14 System.err:帧: 功能:'NativeScriptActivity.onCreate', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/ui/frame/activity.js', 行:20,列:25 System.err:System.err:at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2706) System.err:在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) System.err:在 android.app.ActivityThread.-wrap12(ActivityThread.java) System.err: 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514) System.err:在 android.os.Handler.dispatchMessage(Handler.java:102) System.err: 在 android.os.Looper.loop(Looper.java:163) System.err: 在 android.app.ActivityThread.main(ActivityThread.java:6221) System.err: 在 java.lang.reflect.Method.invoke(Native Method) System.err: 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) System.err:在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) System.err:引起:com.tns.NativeScriptException:System.err: 调用 js 方法 onCreate 失败 System.err: System.err: Error: A 有效的 Facebook 应用程序 ID 必须在 AndroidManifest.xml 中设置或由 在初始化 sdk 之前调用 FacebookSdk.setApplicationId。 系统错误: com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:276) 系统错误: com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:232) System.err: com.tns.Runtime.callJSMethodNative(Native Method) 系统错误: com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) System.err: com.tns.Runtime.callJSMethodImpl(Runtime.java:983) System.err: com.tns.Runtime.callJSMethod(Runtime.java:970) System.err: com.tns.Runtime.callJSMethod(Runtime.java:954) System.err: com.tns.Runtime.callJSMethod(Runtime.java:946) 系统错误: com.tns.NativeScriptActivity.onCreate(NativeScriptActivity.java:18) System.err: android.app.Activity.performCreate(Activity.java:6875) 系统错误: android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 系统错误: android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659) 系统错误: android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) 系统错误: android.app.ActivityThread.-wrap12(ActivityThread.java) System.err: android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514) System.err: android.os.Handler.dispatchMessage(Handler.java:102) System.err: android.os.Looper.loop(Looper.java:163) System.err: android.app.ActivityThread.main(ActivityThread.java:6221) System.err: java.lang.reflect.Method.invoke(Native Method) System.err: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 系统错误: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) System.err:文件: “file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/nativescript-plugin-firebase/firebase.js, 行:331,列:41 System.err:System.err:StackTrace:System.err: 框架:函数:'runInit', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/nativescript-plugin-firebase/firebase.js', 行:331,列:42 System.err:帧: 功能:'Observable.notify', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/data/observable/observable.js', 行:110,列:23 System.err:帧:函数:'notifyLaunch', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:870,列:17 System.err:帧: 功能:'ActivityCallbacksImplementation.setActivityContent', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:803,列:28 System.err:帧: 功能:'ActivityCallbacksImplementation.onCreate', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:677,列:14 System.err:帧: 功能:'NativeScriptActivity.onCreate', 文件:'file:///data/data/org.nativescript.pushnotify/files/app/tns_modules/tns-core-modules/ui/frame/activity.js', 行:20,列:25 System.err:System.err:at com.tns.Runtime.callJSMethodNative(Native Method) System.err: at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) System.err:在 com.tns.Runtime.callJSMethodImpl(Runtime.java:983) System.err:在 com.tns.Runtime.callJSMethod(Runtime.java:970) System.err:在 com.tns.Runtime.callJSMethod(Runtime.java:954) System.err:在 com.tns.Runtime.callJSMethod(Runtime.java:946) System.err:在 com.tns.NativeScriptActivity.onCreate(NativeScriptActivity.java:18) System.err:在 android.app.Activity.performCreate(Activity.java:6875) System.err: 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) System.err:在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659) System.err: ... 还有 9 个 System.err: 原因:一个有效的 Facebook 应用程序 id 必须在 AndroidManifest.xml 中设置或通过调用设置 FacebookSdk.setApplicationId 在初始化 sdk 之前。系统错误: 在 com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:276) System.err:在 com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:232) System.err: ... 19 更多 ActivityManager: 报告杀死进程: killPid 是:26158,killedPid 是:26158 ActivityManager:进程 org.nativescript.pushnotify (pid 26158) 已经死亡:前 TS ActivityManager: cleanUpApplicationRecord -- 26158

请问您有什么想法吗?如何解决?

【问题讨论】:

插件 nativescript-plugin-firebase 自 2016 年(拍摄视频时)以来发生了很大的变化和变化 - 请按照自述文件中的说明进行操作 github.com/EddyVerbruggen/nativescript-plugin-firebase/blob/… 一般情况下也许会习惯这一点 - 阅读主要来源中的内容,而不是观看视频...... 【参考方案1】:

您的 AndroidManifest 应包含此行 <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

这是包含它的部分 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="__PACKAGE__"
      android:versionCode="10017"
      android:versionName="1.17">
...
    <application android:name="com.tns.NativeScriptApplication"
             android:allowBackup="true"
             android:icon="@drawable/icon"
             android:label="@string/app_name"
             android:theme="@style/AppTheme">
        ...
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
    </application>
</manifest>

并在您的App_Resources/Android/src/main/res/values/strings.xml 中,设置以fb 开头的facebook 应用程序ID

<resources>
    ...
    <string name="facebook_app_id">fb facebook_app_id </string>
</resources>

【讨论】:

但是这将_fbSourceApplicationHasBeenSet 设置为bundle GLOBALLY,所以bundle 永远不是null,这会导致播放器库崩溃,所以我需要在java 中设置应用程序ID 但不是清单。有什么想法吗?

以上是关于错误:必须在 AndroidManifest.xml 中设置有效的 Facebook 应用程序 ID的主要内容,如果未能解决你的问题,请参考以下文章

Android 去掉标题栏

GoogleAnalytics

Android开发之入口Activity

Android LaunchMode案例篇

除非在授予权限后重新启动应用程序,否则无法写入外部存储

va.io.FileNotFoundException: /storage/emulated/0/xxx/xxx/加密: open failed: EACCES (Permission denied)