Error:FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:externalNativeBuildDebug'.
> Build command failed.
Error while executing process E:\Android\Sdk\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=G:\project\Android\Anti-shake-arithmetic\app\src\main\jni\Android.mk NDK_APPLICATION_MK=G:\project\Android\Anti-shake-arithmetic\app\src\main\jni\Application.mk APP_ABI=armeabi NDK_ALL_ABIS=armeabi NDK_DEBUG=1 APP_PLATFORM=android-15 NDK_OUT=G:/project/Android/Anti-shake-arithmetic/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=G:\project\Android\Anti-shake-arithmetic\app\build\intermediates\ndkBuild\debug\lib G:/project/Android/Anti-shake-arithmetic/app/build/intermediates/ndkBuild/debug/obj/local/armeabi/libNDKUtils.so}
[armeabi] StaticLibrary : libclapack1.a
process_begin: CreateProcess(NULL, E:/Android/Sdk/ndk-bundle/build//../toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar crsD G:/project/Android/Anti-shake-arithmetic/app/build/intermediates/ndkBuild/debug/obj/local/armeabi/libclapack1.a
make: *** [G:/project/Android/Anti-shake-arithmetic/app/build/intermediates/ndkBuild/debug/obj/local/armeabi/libclapack1.a] Error 206
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
 
出现上述错误,是我在NDK开发中,想在 Android Studio 配置 debug 环境(具体步骤:http://www.cnblogs.com/xiaoxiaoqingyi/p/7143536.html),于是在 gradle 配置文件下 添加了如下节点:
 externalNativeBuild {
// 采用ndk-build
ndkBuild {
path 'src/main/jni/Android.mk'
}
// 如采用 cmake 使用如下配置
//cmake {
// path 'src/main/jni/CMakeLists.txt'
//}
}
    在没添加这些节点的时候, 我编译是能通过的,且能运行 .so动态库。加入这些节点后,就出现了上面的错误。第一反应,我看到的是 NDK_PROJECT_PATH=null ,想到应该是 .so 库没有衔接好,于是我google了好久,大概有如下解决方案,你可以一 一去尝试:
 
1、修改 module 下 gradle 里 sourceSets 指定动态库路径节点,该节点用来配置 jni 库的路径。Android Studio 环境下,默认的 jniLibs 路径是:src/main/jniLibs。如果你是从旧项目移植过来的话,可能没有该目录,你可以在 android 节点中添加如下配置:
//指定动态库路径
sourceSets {
main {
jni.srcDirs = [] // disable automatic ndk-build call, which ignore our Android.mk
jniLibs.srcDir 'src/main/libs'
}
}
2、也有方案说,需要把 编译好的 动态库放到 app/libs 目录下, 因为这个目录默认是存放 jar包,把编译好的动态库放入 app/libs 目录后,再在 android 节点中添加如下配置:
sourceSets {
main {
jniLibs.srcDirs = ['libs‘]
}
}
3、如果上述都两种方案都没解决你的问题,这很大可能是 你的Android.mk 配置问题。你的Android.mk 是否有一个 总的 Android.mk,然后include 了其它子Android.mk ? 如果是,你应该重新配置好你的子Android.mk。像 OpenCV native库, 它就是用一个 总的 Android.mk,include 了其它子Android.mk,OpenCV 库是配置是没有问题的,我编译成功过。
 
     我得到最开始的那个错误是 因为我在 配置levmar 库时,levmar 使用了第三方的库(clapack),而子Android.mk 没有配置好,最后,我把 clapack 库去了,因为该项目刚好也没有使用到 clapack 库。最后,编译成功了。
 
    上述我也说了,我的目的是为了能debug C/C++ 代码,编译成功后,其实debug 环境是配置好了,但还是debug 不了,就是说,在那行代码设置了断点,运行到那里了,还是停不下来。 只有C/C++代码报错的时候, debug才检测到。这个问题我一直没有解决,很有可能的原因是,我使用了比较多的 第三方编译好的动态库,而直接使用源代码,如 ffmpeg,opencv。
 
 

NDK配置debug环境时:Error:FAILURE: Build failed with an exception的更多相关文章

  1. FAILURE: Build failed with an exception. Crunching Cruncher screen.png failed

    自己测试ionic的模板项目cutePuppyPics时,按照https://github.com/driftyco/ionic/blob/2.0/CHANGELOG.md#angular-updat ...

  2. FAILURE: Build failed with an exception.

    FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:installD ...

  3. Android Studio 中 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileDebugAidl'.的问题解答

    Android Studio 中 FAILURE: Build failed with an exception. * What went wrong: Execution failed for ta ...

  4. Starting a Gradle Daemon, 5 busy and 1 incompatible and 1 stopped Daemons could not be reused, use --status for details FAILURE: Build failed with an exception. * What went wrong: Could not dispatch

    执行gradle build出的问题,查看hs_err_pid11064.log日志文件发现,是电脑的RAM不足导致

  5. NDK开发,如何配置 debug环境

    刚开始做NDK 开发的时候,Android Studio 还没提供了 native C/C++ 设置断点 调试,我们都是通过输出 日志来调试,这样费时耗力.Android Studio 应该是在 2. ...

  6. Cocos2d-x 2.2.3 使用NDK配置编译环境

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wwj_748/article/details/30072379 Cocos2d-x 2.2.3 使用 ...

  7. Vue+Webpack配置css-loader时报错:Module build failed: Unknown word

    使用Vue+Webpack搭建工程时,在webpack.config.js中的module的rules里针对各种文件配置加载工具.在针对css文件配置时遇到一个问题:打包构建时报错——Module b ...

  8. 安卓真机或者模拟器运行安装应用时提示 Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]解决办法

    有时候为了方便调试APP,会在电脑上开启模拟器来调试我们的代码,有时候会出现 Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract n ...

  9. 初始化构建React+Ts项目时出现:Module build failed (from ./node_modules/css-loader/dist/cjs.js): CssSyntaxError

    具体错误 ERROR in ./src/index.tsx Module build failed (from ./node_modules/css-loader/dist/cjs.js): CssS ...

随机推荐

  1. ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)

    前言 在 ios上边使用地图库的同学肯定遇到过这样的问题:吹出框只能设置title和subtitle和左右的view,不管是百度地图还是高德地图还是自带的 google地图,只提供了这四个属性,如果想 ...

  2. 用photoshop将图片四角变成圆角

    1.用PS打开一张图片,用矩形选框工具,选出你要保留的的那一部分,"选择→修改→平滑".在弹出的选框里添入数值,值越大角就越圆. 2.然后选择"选择→反选"再按 ...

  3. [转]CentOS Apache 性能调试!

    查看Apache的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 返回结果示例 ...

  4. dBm与Vpp相互转换公式

    dBm = 10 + 20lg(0.5Vpp) Vpp = 2x10 以上公式均为阻抗为50欧的情况下计算得出的

  5. Servlet--取得session,application内置对象

    在前面的博客里面,使用Servlet取得了request,response,config对象,实际上通过Servlet程序也可以取得session,application等内置对象. 1,通过Http ...

  6. springMVC中使用POI方式导出excel至客户端、服务器实例

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...

  7. 锋利的jQuery笔记

    首先分清jQuery对象和DOM对象,这两者可相互转化,如: var $cr=$("#cr"); //jquery对象 var cr=$cr[0] ; //DOM对象 var cr ...

  8. 浅谈GlusterFS

    GlusterFS 标签(linux): 分布式文件系统 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 图片来自于官网:http://gluster.readt ...

  9. Eclipse启动报错[ out of memory error has occurred ]或[ An internal error occurred while showing an internal error ]

    自我总结,有什么需要纠正或更好的方案,请告知,谢谢! 最近上来看到好多同学都遇到了这个问题,之前我也好几次碰到这个问题,很是恼火,什么没干,eclipse一开电脑就卡死了,后来发现不管是新打开ecli ...

  10. c#控制WPF程序自动登录(Automation方式实现)

    说明:winForm窗体,可以通过win32接口dll的findWindow之类的函数来实现查找winform窗口,mfc窗口等. 但是wpf却是不实用这些,可以靠automation方式来进行操作. ...