所以,我一直在解决这个问题一天,直到我发现它似乎是问题所在,但现在我无法弄清楚如何解决它..
我有一个使用 Kaltura player sdk for android 的项目(https://github.com/kaltura/player-sdk-native-android)。我做了一些测试,它就像一个魅力..但后来我尝试在我的项目中使用它,并且当使用这个错误制作 playerSDK 时,Gradle 总是失败:
Error:Execution failed for task ':playerSDK:transformNative_libsWithSyncJniLibsForDebug'.
java.io.FileNotFoundException: ../video-android/player-sdk-native-android/playerSDK/build/intermediates/bundles/debug/jni/lib/armeabi/libHLSPlayerSDK.so(没有这样的文件或目录)
经过一天试图弄清楚为什么会在这个特定的项目中发生这种情况。我发现问题发生在我添加谷歌分析时(https://developers.google.com/analytics/devguides/collection/android/v4/) . 添加classpath 'com.google.gms:google-services:1.5.0-beta2'
到 build.gradle (项目)将使 kaltura 在 make 过程中抛出此错误。
我不是 gradle 专家,事实上,我对它很陌生.. 但我想知道在构建 playerSDK 模块时是否有某种方法可以排除这个项目依赖。
这是我现在拥有的结构:
|
\-- build.gradle(Project:SampleApp)
\-- build.gradle(Module:App)
\..
\..
\-- build.gradle(Module:playerSDK)
项目构建有这个:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:1.5.0-beta2' //<<This classpath is the problem
}
}
所以,我需要那个类路径来使谷歌分析工作。但由于某种奇怪的原因,它破坏了 playerSDK 模块。有没有人知道是否有办法为 playerSDK 模块排除该类路径?
提前致谢!