【发布时间】:2019-02-12 11:55:10
【问题描述】:
我有一个现有的应用程序,这个插件运行良好,但今天它决定在我身上失败。
我可以肯定,下面很可能会重现该问题,一旦安装了插件,应用程序在运行“cordova run android”后会出现黑屏。终端显示“启动成功”,没有错误/堆栈跟踪。
版本:
- cordova-plugin-facebook4: 2.4.0
- 科尔多瓦:8.0.0
- cordova-android: 7.0.0
- Android Studio:3.1.4(适用于 Mac),带有 Android API 28
重现这个:
- 全新安装 Android Studio 和 cordova,接受来自 Android 的所有许可证,例如
sdkmanager --licenses。确保该应用已在 developers.facebook.com 中注册并获得正确的 APP_ID。 - 终端:
cordova create appy222 appy222.com appy222 - cd 进入 appy222
cordova plugin add cordova-plugin-facebook4 --variable APP_ID="whateverid" --variable APP_NAME="Appy222"- 将 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> - 将“android-minSdkVersion”更改为 16。原来是15,在做
cordova run android时抱怨Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in library... -
cordova platform add android这将安装cordova-android@7.0.0 - 通过连接到启用开发选项的 Android 手机运行。终端:
cordova run android
结果是一个空白屏幕......黑色。没有cordova-plugin-facebook4,该应用程序将运行良好。
想知道是否有人遇到过这个问题?希望有人可以在这里分享一些想法。
【问题讨论】:
-
科尔多瓦版本?科尔多瓦安卓版?除此之外,错误的堆栈跟踪是什么?
-
Cordova 版本在那里(8.0.0),cordovan-android 版本在那里(7.0.0)。根本没有堆栈跟踪。该应用程序以“LAUNCH SUCCESS”部署到移动设备。我想通过 chrome://inspect 检查错误,但它甚至没有条目。
-
奇怪的是没有一个条目。您是否尝试添加一些 console.log 来跟踪正在发生的事情?
-
不确定这是否有帮助,我启动了 adb logcat 并使用包名过滤日志。它给出:“ClassLoader 引用了未知路径:/data/app/appy2.com-2/lib/arm
-
好的,找到了解决方案...天哪,必须将 Facebook 的 Android SDK 版本缩减到 4.28.0
标签: android cordova ionic-framework cordova-plugins