sat*_*god 5 java android gradle facebook-sdk-4.x
在我的项目中,我需要导入第三方jar文件和Facebook SDK。
compile files('libs/SkinSDK.jar')
compile 'com.facebook.android:facebook-android-sdk:4.14.0'
Run Code Online (Sandbox Code Playgroud)
两者都包含同一BundleJSONConverter类。所以,我无法生成签名的 APK。它总是显示重复的条目 com/facebook/internal/BundleJSONConverter。
所以,我想在 Facebook 或 SkinSDK.jar 中排除。我尝试过像
compile ('com.facebook.android:facebook-android-sdk:4.14.0') {
exclude group: 'com.facebook.internal', module: 'BundleJSONConverter'
}
Run Code Online (Sandbox Code Playgroud)
它不起作用并显示相同的错误。
exclude依赖项的配置闭包方法不包括传递依赖项。因此,如果您的模块依赖项依赖于其他模块,您可以将它们从构建中排除。'com.facebook.android:facebook-android-sdk:4.14.0'您可以在其Maven 存储库信息页面上查看该模块的传递依赖关系。
如果该类BundleJSONConverter存在传递依赖关系,您可以按照现在尝试的相同方式排除特定模块。只需指定group、 themodule和 the version,就像对依赖项所做的那样。
如果您只想排除依赖项 jar 中的一个类,请查看jar jar links工具及其 Gradle 插件。它允许您更改包含的 jar,例如更改包或删除类。
以下(缩短的)示例显示了插件的用法以及更改依赖项 jar 的一些方法:
compile jarjar.repackage {
from 'org.apache.hive:hive-exec:0.13.0.2.1.5.0-695'
archiveBypass "commons*.jar"
archiveExclude "slf4j*.jar"
classDelete "org.apache.thrift.**"
classRename 'org.json.**', 'org.anarres.hive.json.@1'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31482 次 |
| 最近记录: |