对于新的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
答案 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!
这就是诀窍。