Phonegap Facebook插件和Google Analytics插件相互咬合

时间:2015-07-16 10:52:50

标签: android facebook cordova

对于新的Cordova / Phonegap项目(使用cordova 5.5.1创建)。我使用正确的Facebook应用程序ID和名称添加了Phonegap Facebook插件(首先按照他们的说明将其克隆到硬盘上)。然后我添加了Android项目,我能够在我的Android设备上运行它。

然后我添加了Daniel Wilson的Google Analytics插件。运行android时,我收到以下错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
    [at etc,
    at etc.]
:dexDebug FAILED

如何解决这个问题?我认为它与android.support.annotations库有关,但我不知道它的添加位置以及如何防止或改变它。

重现的步骤: 安装cordova 5.5.1。然后运行以下CLI命令:

cordova create NewApp com.apps.NewApp
cd NewApp
git clone https://github.com/Wizcorp/phonegap-facebook-plugin.git
cordova -d plugin add phonegap-facebook-plugin --variable APP_ID="1234567689" --variable APP_NAME="FB-appname"
cordova platform add android
cordova plugin add https://github.com/danwilson/google-analytics-plugin.git

cordova run android

1 个答案:

答案 0 :(得分:0)

找到解决方案:我设法使用Android Studio开始工作。在添加android平台之前,我将插件添加到新项目后删除了一个文件。首先是:

cordova create NewApp com.apps.NewApp
cd NewApp
git clone https://github.com/Wizcorp/phonegap-facebook-plugin.git
cordova -d plugin add phonegap-facebook-plugin --variable APP_ID="1234567689" --variable APP_NAME="FB-appname"
cordova plugin add https://github.com/danwilson/google-analytics-plugin.git

然后我删除了文件MyApp \ plugins \ com.phonegap.plugins.facebookconnect \ platforms \ android \ FacebookLib \ libs \ android-support-v4.jar

之后我还通过将min-sdk-version 9更改为min-sdk-version 10来编辑文件MyApp \ plugins \ com.phonegap.plugins.facebookconnect \ platforms \ android \ FacebookLib \ AndroidManifest.xml以防止稍后发出警告。

然后我使用cordova添加了android项目:

cordova platform add android

我打开了Android Studio,选择了File-> Open下的MyApp \ platforms \ android文件夹,让Android Studio添加gradle包装器。在构建时我得到错误抱怨错过了android支持库。

Error:(27, 30) error: package android.support.v4.app does not exist

所以我在Android Studio中手动添加了它:File-> Project Structure - > MyApp-FacebookLib - >依赖关系 - >绿色加号 - > 1库依赖 - > support-v4然后按OK!

这就是诀窍。