更新了android工作室并且Gstreamer构建失败了

时间:2017-11-01 09:12:55

标签: android-studio android-gradle gstreamer gradle-plugin

使用新的Android gradle插件更新到Android Studio 3.0.0。 虽然buildin项目得到了消息:

What went wrong:
Execution failed for task `':app:externalNativeBuildDebug'`.

Expected output file at `gst-build-arm64-v8a/libgstreamer_android.so` for target `gstreamer_android` but there was none

但是libgstreamer_android.so库文件已经存在。对于本机代码,我使用ndk-build。有人有这个问题吗?

2 个答案:

答案 0 :(得分:4)

添加到我们的android模块字段目标的build.gradle文件。

android { 
  defaultConfig { 
    externalNativeBuild { 
      ndkBuild { 
        targets "name_of_native_module_in_android_mk_file" 
      } 
  ... 
}

不要添加gstreamer_android

答案 1 :(得分:0)

更新: Valery的回答有效!

过时回答:
这不是完美修复,只是临时,直到我有时间深入研究这个问题。
降级你的gradle插件:

  1. 文件 - >项目结构
  2. 点击“项目”
  3. 在“Gradle版本”字段中放置:
    • 3.3
  4. 在“Android插件版本”字段中输入:
    • 2.3.3
  5. 点击“确定”
  6. 接受消息,同步项目等... Android Studio可能会再次提示请求更新gradle插件,只需不接受它... 我想gradle上的更新改变了构建的方式,也许Android.mk上的东西必须改变或者build.grade上的其他参数......

    编辑:我发现了一些线索:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

      

    API更改
    Android插件3.0.0引入了删除的API更改   某些功能可能会破坏您现有的构建。后来   插件的版本可能会引入替换的新公共API   破碎的功能。

         

    在构建时修改变体输出可能不起作用使用Variant   使用新插件打破了操纵变量输出的API。它   仍适用于简单的任务,例如更改APK名称   建立时间,如下所示:...

    所以,我想我们应该继续使用临时修复(不是更新版本的gradle)...