Android studio 调试NDK C++ 代码,遇到的问题
来源:互联网 发布:巴黎散步道 知乎 编辑:程序博客网 时间:2024/05/29 11:10
NDK调试问题:
在使用AS调试NDK代码的时候,出现一些问题,java中的jni函数红名,之前也出现过,在网上找了好多,也询问了鹅场的技术,他说有可能是AS不稳定。确实我重新安装AS,jni函数会显示正常,但不知道怎么一下jni函数就又红名了。
最近又去搞了一下这个问题,把过程总结了一下,
2、jni函数正常(函数颜色不是红色,可以跟进去c++代码)
3、不能调试。
不能调试 2 A工程 1、ndkbuild
2、jni函数正常
3、不能调试。
使用gradle-experimental 可以调试 3 B工程 1、ndkbuild
2、jni函数正常
3、不能调试。
A工程使用gradle-experimental后 jni函数显示红色.(难道需要invalidate cache and restart)
把ndkbuild 工程换成 cmake jni函数正常
没有使用 gradle-experimental 也能调试 4 A工程 去掉gradle-experimental 可以调试
jni函数正常
网上有人说NDK调试需要gradle-experimental,但是官方文档并没有提这个。我后来没有使用gradle-experimental,确实也可以调试。没用gradle-experimental的时候,是不能调试的,也就是说,用了一下gradle-experimental,后来不用代码也能调试。(这不是结论,这是我遇到的一个情况)
Android Studio NDk调试(基于gradle-experimental插件与LLDB)
官方文档:https://developer.android.com/studio/debug/index.html
很奇怪的一个问题,我暂时得出的结论是:
1. 调试不需要gradle-experimental
2. 最好使用cmake编译ndk代码。
有朋友知道原因的可以指点一下
gradle-experimental与gradle版本对应关系
在官方文档中, Experimental Plugin User Guide这个对应关系只更新到gradle 2.14.1
后来我找来找去,我想既然文档没有,源码中应该有这个关系的代码吧。果然被我发现了
在这里查看gradle-experimental的历代版本,其中包括源码。找到.pom文件,其中声明使用’com.android.tools.build’ 的gradle-core版本,跟你的AS版本一致的就能用。
遇到这么一个事情,分享给大家,我是在2017.5.12早上更新的AS 版本是2.3.2,在查找.pom文件的时候,发现0.9.1的gradle-experimental,依赖com.android.tools.build的gradle-core: 版本2.3.1,在往上找0.10.0-alpha1,却依赖com.android.tools.build的gradle-core: 版本是2.4.0-alpha1’。找了半天没找到2.3.2的版本,于是就用了0.9.1的gradle-experimental,结果sync project的时候提示更新到0.9.2。这说明0.9.2的版本是存在的。
当时好奇怪,结果第二天这里就出现了0.9.2版本
https://bintray.com 网站更新库,可能不是很及时,所以如果没找到自己要的,可以先直接用上
CMake和ndkbuild使用过程的一些情况
B工程使用ndkbuild的时候,使用的是r10,使用13.1.3345770会出现这个错误。 但使用cmake后,使用13.1.3345770也正常了。
不知道是mk文件配置不正确,还是ndkbuild不兼容13.1的原因。有朋友知道原因的可以指点一下
- Android studio 调试NDK C++ 代码,遇到的问题
- android studio ndk开发遇到的问题
- android studio 2.2.2/2.3 调试ndk遇到的一个奇怪问题
- Android Studio 调试 Native 、NDK,C
- Android NDK 遇到的问题
- NDK开发——Android Studio中开发NDK遇到的错误问题与解决方案汇总
- Android Studio使用ndk'遇到的错误
- 代码调试遇到的问题
- Android NDK学习(7)NDK测试时遇到的问题:C与C++互相调用
- 关于android studio中svn代码管理遇到的问题
- android-studio下ndk的配置和简单JNI调用遇到的问题
- Android Studio NDK(C++)
- Android Studio NDK开发过程中遇到的问题与解决(一)
- android studio NDK C/C++ 可调试配置
- [Android NDK] Android NDK可能遇到的问题
- Android studio NDK问题
- Android studio NDK问题
- android+NDK环境搭建遇到的问题
- 浏览器内部工作原理
- 蚁群算法
- 对字符串中的数字子串求和
- leetcode 2 Add Two Numbers golang
- c++——双向循环链表常见操作
- Android studio 调试NDK C++ 代码,遇到的问题
- (13)关卡编辑器之大纲视图
- poj 2104 主席树
- IFE2017-单个表单项的检验
- 第五天 : 启动线程和运行线程中方法的区别
- io流的概述及字节流相关类的基本使用和异常处理
- CentOS虚拟机下挂载镜像
- redis操作
- Sublime Text 3前端开发常用优秀插件介绍