jni编译

news/2024/5/20 3:05:59 标签: gradle, android studio, android

记录一次编译遇到很郁闷的问题。

就是修改c文件后(该文件在module中),加了行日志,运行androidstudio工程,但是并没有打印出我增加的日志,但是工程仍然正常运行,十分不理解。

点击module的gradle--Task--other---assembleDebug,重新生成编译文件,文件在

SerialPortLibrary\.cxx\cmake\debug\armeabi-v7a\CMakeFiles\SerialPort.dir\SerialPort.c.o下,编译好的so在SerialPortLibrary\build\intermediates\cmake\debug\obj\armeabi-v7a\libSerialPort.so 下。

看着命名编译好了这个so,但是重新运行project,加的日志就是没打印。

检查gradle文件都正常,CMakeLists文件都正常,编译都正常,无奈下,查看其它正常的带JNI代码的工程配置,检查是否一样,倒是看到一些不一样的地方,ndk的 编译版本不一致,只能先改成一致。

ndk {
    abiFilters 'armeabi-v7a','arm64-v8a'
}
    externalNativeBuild {
        cmake {
            path "src/main/cpp/CMakeLists.txt"
            version "3.10.2"
        }
    }

CMakeList文件:

cmake_minimum_required(VERSION 3.10.2)

...

这些信息都改成一致了,但是还是编译正常,运行正常,但是就是不打印加的那行日志,实在不理解。

不理解啊,不理解。

clean,rebuild,run,一切正常,清楚工程缓存重启AndroidStudio运行也一样。

已经没辙了,无奈删除module下的c文件和h文件,结果更夸张的是,一切运行正常。。。

这下肯定有其他地方保存了这个so并且工程用的是那个so,压根就没用编译好的这个so,于是检查主工程,结果还真在jniLibs下找到了这个libSerialPort.so,太气人了。

可能上次编译运行后,为了方便直接就把编译好的so拷贝过来了,导致这次把自己坑了。

然后删掉这个so,重新编译,运行,果然打印那行日志了。。。

其他的就是慢慢调试代码了。

对于cmake编译,后续需要更多了解,因为不同的ndk版本,可能会导致编译错误,待续。。。


http://www.niftyadmin.cn/n/294021.html

相关文章

MySQL学习笔记第八天

第07章单行函数 4. 日期和时间函数 4.6 计算日期和时间的函数 第1组: 函数用法DATE_ADD(datetime,lNTERVAL exprtype),ADDDATE(date,INTERVAL exprtype)返回与给定日期时间相差INTERVAL时间段的日期时间DATE_SUB(date,lNTERVAL expr type)&#xff0…

ASEMI代理ADI亚德诺LTC3309AEV#TRMPBF车规级芯片

编辑-Z LTC3309AEV#TRMPBF特点: 与 LTC3307(3A) 和 LTC3308(4A) 引脚兼容 高效率:8mΩ NMOS、31mΩ PMOS 可编程频率 1MHz 至 3MHz 微型电感器和电容器 峰值电流模式控制 22ns 最短接通时间 宽带宽,快速瞬态响应 Silent Switcher 架…

2023第二届中国汽车碳中和国际峰会

会议背景 随着世界越来越认识到气候变化的破坏性影响,政府、组织和个人正在采取行动减少导致全球变暖的温室气体排放。随着电动化和互联技术的发展,汽车产业价值链正在经历变革。 汽车价值链的转型还为汽车行业创造了许多脱碳和更具可持续性的新机会。 …

《python爬虫练习》之随机的User-Agent请求头

1. 背景: 大数据时代,互联网上很多的数据需要被爬取然后进行筛选,就可以被我们所利用,在这个过程中反爬技术也应运而生,互联网之间的攻防战一直在不断升级。那么我们在爬取数据的时候,自然需要进行伪装&am…

身为程序员,你有哪些提高写代码效率的黑科技?

目录 1、Google/Stackoverflow——搜索解决方案的能力 2、低代码平台——提供可复用的轮子 3、人工智能——帮你写代码 4、学会话术——消除烦恼 5、 按时上下班,一周工作 5 天,养足精神以更高效地写代码。 首先,每个程序员都是会利用工…

【数据分析之道-Matplotlib(二)】Matplotlib 绘图标记

文章目录 专栏导读1、前言2、标记(Markers)2.1关键词参数marker2.2标记参考(Marker Reference) 3、Format Strings fmt3.1fmt参数3.2线参考(Line Reference) 4、标记颜色(Marker Color)4.1关键字参数mec4.2…

全国职业院校技能大赛网络建设与运维赛项赛题(五)

全国职业院校技能大赛 网络建设与运维 赛题 (五)

【Elsevier】中科院2区TOP, 高被引119篇, 稳定检索22年, 1周可见刊,5月15截稿~

一、【期刊简介】 中科院2区软计算类SCI (TOP) 【期刊概况】IF:8.0-9.0, JCR1区, 中科院2区; 【终审周期】走期刊部系统,3-5个月左右录用; 【检索情况】SCI&EI双检;正刊; 【数据库收录年份】2001年&#xff1…