cordova-plugin-facebook4无法启动应用程序(Android)

时间:2018-09-07 07:17:54

标签: android cordova ionic-framework cordova-plugins

我有一个现有应用程序,该插件可以正常运行,但今天它决定对我失败。

我可以肯定,下面的内容很可能会重现此问题,一旦安装了插件,该应用在运行“ cordova run android”后就会出现黑屏。终端显示“ LAUNCHED SUCCESS”,没有错误/堆栈跟踪。

版本:

  • cordova-plugin-facebook4:2.4.0
  • cordova:8.0.0
  • cordova-android:7.0.0
  • Android Studio:3.1.4(适用于Mac)和Android API 28

要重现此内容:

  1. 新安装的Android Studio和Cordova,接受来自Android的所有许可,例如sdkmanager --licenses。确保该应用已在developer.facebook.com中注册,并获得了正确的APP_ID。
  2. 端子:cordova create appy222 appy222.com appy222
  3. 进入appy222
  4. cordova plugin add cordova-plugin-facebook4 --variable APP_ID="whateverid" --variable APP_NAME="Appy222"
  5. 将xml片段插入cordova-plugin-facebook4的plugin.xml <config-file parent="/resources" target="./res/values/strings.xml"> <string name="fb_app_id">$APP_ID</string> <string name="fb_app_name">$APP_NAME</string> </config-file>
  6. 将“ android-minSdkVersion”更改为 16 。原来是15岁,在进行Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in library...时抱怨cordova run android
  7. cordova platform add android,这将安装cordova-android@7.0.0
  8. 通过连接到启用了开发选项的Android手机来运行。终端:cordova run android

结果是黑屏...黑屏。如果没有cordova-plugin-facebook4,该应用程序将正常运行。

想知道是否有人遇到过这个问题吗?希望有人可以在这里分享一些想法。

5 个答案:

答案 0 :(得分:1)

有同样的问题。对我有用的是删除插件,将facebook android sdk版本设置为4.35.0:

cordova插件添加cordova-plugin-facebook4-变量APP_ID =“ whateverid”-变量APP_NAME =“ Appy222”-变量ANDROID_SDK_VERSION =“ 4.35.0”

然后删除并读取android平台:

cordova平台rm android

cordova平台添加android

答案 1 :(得分:0)

我也是。我找到了解决方案。在开发者Facebook应用中,它必须与Google Play包名称相同,而在config.xml中,它必须具有wiget ID。

答案 2 :(得分:0)

发布我自己的问题/问题的答案。似乎我需要将Facebook的Android SDK版本一直降至4.28.0(而不是撰写本文时的最新版本4.36.0)。

cordova plugin add cordova-plugin-facebook4 --variable APP_ID="whateverid" --variable APP_NAME="whateverappname" --variable ANDROID_SDK_VERSION="4.28.0"

答案 3 :(得分:0)

您需要将Facebook Android SDK版本降级到4.26.0

ionic cordova插件添加cordova-plugin-facebook4-变量APP_ID =“ app_id”-变量APP_NAME =“ app_name”-变量FACEBOOK_ANDROID_SDK_VERSION =“ 4.26.0”-变量ANDROID_SDK_VERSION =“ 4.26.0”

记住要同时设置变量ANDROID_SDK_VERSION和FACEBOOK_ANDROID_SDK_VERSION以避免冲突,因为cordova-plugin-facebook4的某些版本引用了变量ANDROID_SDK_VERSION

请记住再次删除并添加android平台。

答案 4 :(得分:0)

找不到Android build.gradle $ FACEBOOK_ANDROID_SDK_VERSION。 所以我在ionic-cordova-facebook4插件中更改了它。 您可以找到root / plugins / cordova-plugin-facebook4 / plugin.xml文件。

在这里您可以找到此设置

请更改为

最后 离子科尔多瓦平台rm android, 离子科尔多瓦平台添加Android 离子科尔多瓦运行Android 现在一切正常!