Fu_Lin_
为人朴实正直,有积极进取的心态,努力拼搏。性格沉稳内敛,做事细心踏实,个性坚韧,能吃苦耐劳,对工作有很强的责任感!有很强进取心和团队协作精神,学习能力、适应能力、承受压力能力较强,善于挑战自我。
展开
-
Qt for android编译报错218:12: fatal error: ‘features.h‘ file not found # include <features.h>
文章目录前言分析问题解决前言今天重装了Qt for android,环境搭建好以后,总是报错,我的是Qt5.12.11,报错内容如下:D:\Android\AndroidSDK\ndk\22.1.7171670\sources\cxx-stl\llvm-libc++\include\__config:218: error: 'features.h' file not foundIn file included from ..\untitled\main.cpp:1:In file included原创 2022-05-15 13:48:55 · 1332 阅读 · 0 评论 -
Qt for androidx 调用手机系统自带文件选择器, 打开指定路径下的文件夹
文章目录前言代码实现前言前面写过一篇Qt for Androidx 调用手机系统自带图库选择图片,打开系统文件选择器,选择相应文件这个打开是跳转到默认的系统的文件夹了,不利于程序的指定性明确的意图,如果你想打开具体指定的文件夹,还需要设置最新的url,网上很多代码都不能发用了,下面看我的代码演示代码实现至于Qt怎么调用,我这边就不累赘了,可以看我上面提到的那篇,主要看下面打开系统文件夹的核心代码如下: /** * 打开文件管理器 * @param activity */原创 2021-11-29 10:38:58 · 1903 阅读 · 8 评论 -
Qt Android Jni资源释放JNI ERROR (app bug): local reference table overflow (max=512)
文章目录前言什么是JNI编程Native Code 本身的内存泄漏Global Reference 引入的内存泄漏什么类型需要释放?如何去释放?一、释放jstring二、释放 类 、对象、方法三、 释放 数组家族多次NewByteArray后,报错“ReferenceTable overflow” 解决方案前言最近使用Qt for android 开发时,因为采用了Jni开发,感觉有些东西没有做好,尤其是资源变量没有释放时会报错,我这边就遇到此错JNI ERROR (app bug): local r原创 2021-04-19 17:29:40 · 475 阅读 · 0 评论 -
Qt for Androidx 调用手机系统自带图库选择图片,打开系统文件选择器,选择相应文件
前言其实我之前写过这样一篇 Qt for Android 调用系统摄像头和相册 文章,里面的功能是可以满足我现在这个需求,就是换头像吧,打开系统相册,然后选择照片,然后返回照片的路径,但是基本是图片贴出,这也是自己坑了自己一波,当然有那个demo提供,也是懒的再去下载改动了,这里就全新记录一遍高版本的androidx的实现方式,简单明了高效打开相册我这边实现的是原生java实现的,所以只写出android的实现代码,至于Qt如何调用,请参考我上面提到的那篇博客,或者查看我其他博客学习。因为相册中的照原创 2021-04-08 15:57:05 · 1636 阅读 · 0 评论 -
Qt for android jni jbyteArray和char*互相转换
文章目录前言charToJStringcharToJbyteArrayjbyteArrayToCharQt调用示例前言最近使用一些数据,发现android下面要用byte[] 类型才有效,而Qt采用char转QString转String(Java)再转byte[],这样数据就会乱掉了,所以只能直接由**char转成byte[]**了,所以下面列出几个互相转换的封装charToJStringjstring charToJString(JNIEnv *env, char *pat) { jcla原创 2021-03-18 09:04:01 · 950 阅读 · 0 评论 -
Qt for android 9,x webview No Network Security Config specified, using platform default
遇见的第一个异常是:No Network Security Config specified, using platform default解决办法:创建一个网络安全性配置 network_security_config.xml,用来声明证书校验方式 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@stri原创 2021-03-09 21:11:07 · 507 阅读 · 0 评论 -
Qt for android 记录一次程序多线程莫名随机挂起问题
前言最近将win系统的程序移植到android时,因为要跑dll所以只能靠打印Debug输入日志查找问题,每次发现程序运行到一半时,日志就卡主了,不往下走,导致我以为dll里面的程序被挂起了,一顿分析,各种逻辑查找,没有发现任何问题,因为dll的逻辑比较复杂,多线程比较多,使用了大量的 pthread_mutex_lock 所以第一反应就是程序被挂起了, 整了几天后面发现白忙活,为什么是白忙活呢?因为程序真的没有问题,问题出在android系统上面,通过Logcat发现跑到最后会打印一句 read: un原创 2021-02-24 09:05:57 · 440 阅读 · 0 评论 -
Qt for android 9.x以上系统 Apk安装包内部升级
文章目录前言FileProvider介绍第一步第二步官方路径配置说明第三步第四步第五步android APK安装升级java代码前言 最近研究安卓apk自动内部升级时,采坑不少,我是Qt 5.12.10开发,开始使用java代码总是报错,后面直接采用Qt的QProcess来指定路径启动apk,以为会成功,直接返回给我失败,所以没办法,只能再回头研究 原生android 的升级方式,其中就采了不少坑,这里说明一下,使用Android原生java方法升级必须采用FileProvider这个类,因为Fi原创 2021-01-06 16:26:25 · 1246 阅读 · 4 评论 -
Qt for android 移植android studio项目报错activity_main.xml:9: AAPT: error: attribute layout_constraintBott
文章目录问题报错代码解决方案方案一治标(某种意义上也算是治根)针对Qt方案二治根 针对Android,Qt也无妨问题报错代码简约错误activity_main.xml:9: AAPT: error: attribute layout_constraintBottom_toBottomOf (aka com.jni.f:layout_constraintBottom_toBottomOf) not found.全部错误如下:* What went wrong:Execution failed原创 2020-12-31 09:49:29 · 2442 阅读 · 2 评论 -
Qt for android 百度地图定位开发莫名其妙崩溃--W System.err: java.io.FileNotFoundException:
先贴错, 这是直接崩溃的前缀打印W Zygote : mz_is_rooted falseW ni.qtandroidmap: type=1400 audit(0.0:689): avc: denied { search } for name="/" dev="mmcblk0p4" ino=2 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:custom_file:s0 tclass=dir permissive=0W Syst原创 2020-12-28 17:56:58 · 831 阅读 · 1 评论 -
android studio 项目直接跑Qt for android报错error: resource style/Theme.MaterialComponents.DayNight.Dark解决方案
文章目录前言问题报错分析问题解决问题前言 将android studio新建的项目拿到QtCreator生成的项目合并编译时报错这个,其实在最早的时候,我有解决过,脑子容易忘记,每次出现这个问题,我都是大脑????一片空白,好像从来没有解决过这个问题一样,其实每次前面都解决了,就是忘记了怎么解决的,然后一顿乱搜乱搞,都无法解决,只是让我有点回忆的味道,好像我之前解决的时候也是这样走过来的,最后慢慢才发现如何解决问题的真正源头在哪里,百度是完全解决不了的,不然我今天也不会记录了,每次都说记录,解决后原创 2020-12-25 11:52:22 · 6424 阅读 · 0 评论 -
Qt for android 静/动态权限的申请
文章目录前言正文Qt 静态申请权限Java代码动态权限申请方式Qt 代码动态权限回调方式requestPermissionsSync方式 (不建议)requestPermissions方式(强烈推荐)前言权限的问题,在android 是很大的问题,没有申请权限则什么都做不了,我之前没写如何申请权限,本以为是烂大街的东西了,但是今天看到有好人问我,然后我觉得有必要记录如下。我本人一贯是使用java代码来动态申请权限的,在android6.0后官方给出的是必须要动态申请,否则只是静态申请则无效!今天看了原创 2020-11-06 10:55:48 · 1407 阅读 · 6 评论 -
Qt for android 设置应用名称国际化
文章目录问题解决方案多语言,日文/英文等设置问题我前面转载了一篇Qt on Android 之设置应用名为中文在使用时发现如果在比较高的安卓版本已经起不到作用了!!!这里提到一下,其实中文名文件夹设置成values-zh也是可以的,当然设置成上文提到的values-zh-rCN 的也是可以的,日文和英文的设置可以参考下面,我有详细说明,下面说下不生效的设置解决方案回到前面的话题,不起作用的原因,不是因为里面博客的方法错了,根据我的测试感觉是Qt的国际化识别标记有问题,如下图:就是其中的--原创 2020-11-05 15:58:17 · 600 阅读 · 0 评论 -
Qt for android 监听 android 系统 输入法的弹出消失,顶出UI等问题
前言 最近有需求点就是android弹出的输入法会破坏一些布局,输入法消失后,布局不会还原,需要自己手动更新一下才行,尤其是在手机全屏下,输入法出来会带动任务栏刘海出现,输入法消失了,不会带走任务栏消失,太坑爹了,这样只能手动自己去设置,而设置的关键点就在于实时监听系统的输入法弹出或消失。正文 开始准备用android代码实现,发现太麻烦了,看qml中的TextField也没发现类似信号,一时陷入了迷茫,还好翻阅百度,发现qt确实是做了输入法的监听,还是一个完整的类,QML下是Qt.input原创 2020-09-09 16:37:27 · 785 阅读 · 0 评论 -
Qt for android Java传递List集合对象到Qt(C/C++)
文章目录前言正文首先定义一个java类添加java native函数Qt C/C++文件Java调用native函数前言写这篇博客也算是对Java和Qt的真正交互做个总结吧!这篇文章已经将所有简单的交互都涉及到了,而文章本身是属于交互比较麻烦的一类。正文今天做了一个功能,扫描手机中的所有的照片,视频,音频等。显示到qt界面,让用户点击查看,这哦李就涉及到了android 和 qt数据大量的交互,并不是一个String就能解决的,正常来说是传递一个QList<MediaInfoStruct&g原创 2020-09-01 16:45:48 · 576 阅读 · 0 评论 -
Qt for Android 动态全屏显示
前言最近使用Qt开发安卓有这样一个需求,某一个页面可能需要全屏显示,也就是所谓的沉倾式显示,任务栏等都见不到,采用Qt提供的均不见效,后面只能通过java代码来实现了,我是采用的Qml来写UI界面,所以采用qml的全屏方式是设置Window模块中的visibility属性值为Window.FullScreen即可。如下代码,在PC端是全屏的,android端系统任务栏还是在,所以是无效的Window { id:id_window visible: true原创 2020-08-25 10:23:27 · 980 阅读 · 0 评论 -
最新 QtAV播放器 Window or Android 环境编译以及运行
前言最近想尝试一下播放器的使用,纯属好奇,百度了一番,发现Qt自带的QMediaPlayer最差,我之前使用感觉还不错,可能没有再实际项目或比较大型项目使用吧,于是乎,发现了一系列基于ffmpeg 开发的播放器,例如有Opencv, Qt-vlc, Qt-AV, 看网上说Qt-Av好像更方便强大一点,于是先尝试这个,有机会再去搞Qt-vlc环境搭建说明一下我的Qt 版本, 使用的是Qt5.12.81.编译准备首先给出几个非常核心重要的网址:QtAV的安装编译原作者说明:https://git原创 2020-08-13 16:58:27 · 1118 阅读 · 0 评论 -
android 蓝牙程序扫描出现异常解决办法:qt.bluetooth.android: ACCESS_COARSE|FINE_LOCATION permission availab
今天使用qt for android 扫描蓝牙时,死活出不来结果,如下图:没有任何数据,想到我之前是跑通过了的,于是我去看了下权限申请,动态没问题,于是看看静态,静态是空的,于是加了下面4个权限,如下图: 编译之后运行没有报错,但是还是搜索不到蓝牙设备,然后又百度了一番,看到一篇文章说要搜到6.0系统上的蓝牙服务要和位置服务都打开才能搜索!于是打开手机上的位置服务,就能够搜索到了!参考:https://www.cnblogs.com/zjutlitao/p/5589572.html...原创 2020-08-12 17:36:00 · 1409 阅读 · 0 评论 -
Qt5.15 (最新版本) android 环境搭建,采坑过程及解决方案 (更新Qt6报错)
问题过程记录解决问题最后总结下问题过程记录最近一直在使用Qt5.12系列开发,目前是Qt5.12.8,最新是5.12.9,我装了下发现5.12.8之前的安卓环境都使用,也不报错,到了Qt5.12.9就无语了,报错,无限报错,首先是 ANDROID_NDK_ROOT 环境找不到,如下图:我估计以为是电脑环境变量没加,于是手动加了环境变量path里面也加了,如图:于是,我开心的重启了电脑,为了保险,心理作用吧,然后打开Qt Creator,还是一样报错!!!没错,没有一点用,于是百度,看到了这.原创 2020-07-17 16:21:48 · 8960 阅读 · 30 评论 -
Qt for android 5.12+版本环境可用的openssl1.1.1+系列
前言在Qt android环境下使用openssl,Qt本身是没有提供的,win系统的openssl可以自己编译,相当简单,可以参考我这边文章Windows10+VS2017下安装和 编译openssl 1.1版本库正文目前Qt高版本Qt 5.12+以上的系列都需要openssl1.1以上的版本,而1.1版本需要被编译的NDK又是高版本,网上大多数NDK编译是android-ndk-14b,这个版本已经不行了,就算你编译好了,也跑不过,需要自己当前Qt for Android环境使用的NDK,最原创 2020-07-17 10:32:23 · 1938 阅读 · 6 评论 -
Qt for Android Flutter - AAPT: error: resource android:attr/dialogCornerRadius not found.
Launching lib\main.dart on Nokia X6 in debug mode…FAILURE: Build failed with an exception.What went wrong:Execution failed for task ‘:app:processDebugResources’.Android resource linking failed...原创 2020-03-06 15:57:36 · 8506 阅读 · 0 评论 -
Qt for Android启动应用提示W System.err: java.lang.ClassNotFoundException: Didn‘t find class “xxxx“on path:
今天使用qt写的andorid 应用AndroidManifest.xml中的activity后启动就报这个错,如下:W System.err: java.lang.ClassNotFoundException: Didn't find class "com.main.qtnotity.QtNativeNotify" on path: DexPathList[[],nativeLibraryDi...原创 2020-03-06 10:38:25 · 975 阅读 · 2 评论 -
Qt:QML编译大坑之import用法
今天在使用qt5.12.7编译android到手机上时,疯狂报错:module “QtGraphicalEffects” is not installedmodule “QtQuick.Controls” is not installedmodule “QtQuick.Controls” version 2.12 is not installed百思不得其解,各种百度无解,主要是在win...原创 2020-02-22 10:30:12 · 5212 阅读 · 0 评论 -
Qt for Android开发应用安装出现两个相同应用的解决办法
前两天开发微信支付功能时,由于用到了好几个第三方,需要修改AndroidManifest.xml。不然只能有一个第三方可以使用。最后将AndroidManifest.xml文件进行了修改,将各个三方的xml文件进行了集合,再在应用中使用,打包后安装发现,手机桌面上出现两个一样的应用,最后检查发现xml文件中出现了相同语句:[html] view plain copy<intent...原创 2018-03-23 15:50:29 · 631 阅读 · 0 评论 -
Qt for Android 使用Honeywell 扫描器的Android SDK开发方法和样例工程
1、在工程中导入SDK文件DataCollection.jar。2、在AndroidManifest.xml中加入下面的代码来获取扫描权限。<uses-permission android:name="com.honeywell.decode.permission.DECODE" />3、在Activity类(如MainActivity)的声明中加入BarcodeListener和Tr...原创 2018-04-13 14:21:56 · 2880 阅读 · 6 评论 -
QML 提示Error: LocalStorage: can't create path /QML/OfflineStorage/Databases解决方案
今天在Qt for Android跑离线数据,要使用到Sqlite数据库,当时是在pc端跑过了的,一切流程都很ok了,所以就准备转移到安卓设备上面试一试,发现刚运行初始化Sqlite时就出现了下面这个警告:Error: LocalStorage: can't create path /QML/OfflineStorage/Databases 当时就懵了,查阅百度也没什么解决,索性看了...原创 2018-05-07 15:32:07 · 603 阅读 · 0 评论 -
Qt for android 弹出Detected problems with app native libraries (please consult log for detail): 解决方案
最近开发Qt for android的时候,因为采用了webview框架的原因,老是弹出一个警告框(如下图):大致内容如下:Detected problems with appnative libraries(please consult log for detail):libQt5Core.so: unauthorizedaccess to "libcrypto.so"libQt5...原创 2018-05-22 13:58:16 · 5128 阅读 · 0 评论 -
Qt for Android 拉起微信登录、分享等功能
先前写了Qt for Android 集成史上第一最全最简单的微信支付这篇博客后,发现还差点东西,就干脆趁今天把微信这部分的登录,分享全部写完,来一个全家桶。其实集成微信支付后,微信登录是相当简单了,首先安卓微信登录的环境配置之类的请转移我的这篇博客仔细观看,Android第三方登录之微信登录,看完这篇博客后,基本上是对于微信登录的流程就很了解,我转载的这篇博客,有个问题,这边我截图指出一下:这里...原创 2018-04-04 15:01:24 · 3070 阅读 · 3 评论 -
Qt for Android 去掉Qt原生启动界面或短暂黑屏(或白屏)的问题
文章目录感言问题解决方案遗留问题感言时隔1年多,又开始搞Qt Android开发了,再次回头看我之前的记录,发现很多问题都被官方友好的解决了,而我的知识面还停留在5.9那个阶段,所以再次搞新版的Qt安卓既陌生又熟悉。咳咳,先感叹感叹一下,好了,回归正题。首先,这次我开发的qt版本是最新版本Qt5.12.2,使用的是Android_for_arm64_v8a版本,这个版本是新出的,我在5.9的...原创 2019-03-26 18:07:06 · 1884 阅读 · 4 评论 -
Qt for Android Splash启动页延时关闭
前言此篇博客可以对接我上一篇博客Qt for Android 去掉Qt原生启动界面或短暂黑屏(或白屏)的问题,观看顺序不分先后,最好两篇要一起看。好了,上篇博客已经说到有遗留的问题就是启动页面时间太短了,导致看不顺眼,可能一闪就过去进入了主页面,不符合我们平常的业务需求。问题主要解决问题就是启动页面时间的设置,老生常谈,我先说下我使用的环境,还是跟上一篇博客一样,再次啰嗦一下:qt版本是最...原创 2019-03-26 18:49:38 · 1118 阅读 · 12 评论 -
qt for android(Error: Program type already present: com.srplab.www.starcore.StarInvocat及其系列冲突的解决方法)
最近要搞个在安卓里面调用python的问题,用的qt,pc端倒是可以用qt解决了,安卓端却难搞,只能走安卓java的路线,采用的是CLE方案实现,但是编译的时候就出现了问题,如下图: Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classe...原创 2019-04-19 14:50:40 · 668 阅读 · 3 评论 -
Qt Android JString ,char* ,QString, std::string之间的转换
下面介绍我常用的这三个转换的方式jstring string = env->newStringUTF(const char *);std::string string = const char *str;const char* str = env->GetStringUTFChars(jstring,0);上述这三个公式就可以相互转换QString 转换更简单,例如:sta...原创 2019-08-03 10:41:32 · 1017 阅读 · 0 评论 -
Qt for Android 调用原生系统摄像头进行录像并保存输出
前面写完了Qt for Android 调用系统摄像头和相册后,发现并不满足一些人的特殊需求,比如需要调用摄像头来录像,虽然不知道这个功能能用到什么地方,但是有人提出了,我还是实现一下。如果没有看过我前面Qt for Android 调用系统摄像头和相册这篇博客的请先转移看一下,毕竟是在这篇博客的基础上加的一个新功能,所以,我就只列出如何实现录像部分的核心代码了:在前面的代码工程中...原创 2018-03-19 17:34:06 · 3957 阅读 · 1 评论 -
Qt for Android 集成史上第一最全最简单的微信支付
应广大Qt好友的要求,记录下我自己开发的qt for android中如何集成微信,在自己搞这个的时候,还是转了不少弯头,其实最简单的方法就是看官方文档,但是要有java基础才行,我当初是研究的别人java的原生支付demo,所以版本有点老,但是不影响正常支付。好了,进入正题,使用qt来进行微信支付,其实就是要用java原生的实现,只不过qt相当于一个外用调用者,只管调用支付集成的方...原创 2018-03-06 14:18:25 · 4802 阅读 · 4 评论 -
javac错误:javac不是内部或外部命令 也不是可运行的程序 解决方法
最近安装qt for android 发现运行javac出现不是内部或外部命令等提示:我先贴出我的环境设置(不成功的路径设置,记录一下):安装路径:C:\Program Files\Java在环境变量中设置的是:新建 JAVA_HOME C:\Program Files\Java\jdk1.8.0_25-- Path:原创 2017-07-05 09:43:53 · 11849 阅读 · 2 评论 -
Qt for android 运行报错 错误: -source 1.5 中不支持 diamond 运算符”的解决方案
首先想吐槽一下,为了解决这个问题,算是花费了不少心思,这个其实就是SDK默认的是1.5版本,主要问题就在于这个警告 [javac] 警告: [options] 源值1.5已过时, 将在未来所有发行版中删除 [javac] 警告: [options] 目标值1.5已过时, 将在未来所有发行版中删除 [javac] 警告: [optio原创 2017-07-24 10:53:28 · 1017 阅读 · 3 评论 -
Qt for Android编译报错提示:Install to device:No Buildfile:build.xml does not exist!解决方法
今天编译安卓项目是,前一分钟还好,后面编译就无故报错,编译不过,贴图如下:当时,选择项目清空,重新qmake,重新启动qtcreator都不能解决,一直报错,后来找了下资料,发现是因为andro sdk没有选择,无故消失了,如图:andorid bulid sdk 那块是空的,点击也是没反应的,平时点击是可以选择sdk的,找到这个问题所在后,我打开了SDK Manage原创 2017-11-01 11:33:41 · 5176 阅读 · 0 评论 -
编写qml到安卓手机的一些小心得
最近在开发一些关于安卓的app的程序,期间发现了很多坑,于是想到在此记下,以便后续能更好的总结。一、C++注册QML规范C++注册qml共有两种机制,第一种是采用qmlRegisterType注册到qml中,由qml去实例化,调用相关接口,只在qml中使用,与其他C++关联性不多,第二种情况是既要被C++其他类调用,又要被qml调用,但是只能拥有一个实例,采用setCont原创 2016-12-08 13:44:36 · 4295 阅读 · 0 评论 -
Qt for android 在安卓上面运行app启动闪黑屏的解决方法
最近在运行app的时候,发现程序启动的时候会有闪黑屏的现象,然后才能正常进入程序。查阅很多资料,始终不能完美解决,通过不断摸索,最近才想出一个取巧的方法,可以完美避免启动黑屏的现象。 首先我们在工程目录下添加一个styles.xml文件,如下图: styles.xml中的内容如下:<resources><styl...原创 2018-08-23 10:04:45 · 2961 阅读 · 1 评论 -
编写qml到安卓手机的一些小心得续
时隔一段时间,自己负责的APP已经有了落幕,从开始的不懂到现在的约略感悟,也算是积累了一些小经验, 刚开始写了一些很浅显的心得体会,现在回头来看还是有点小价值的,在当时因为这些问题也是费了不少时间, 好了。废话不多说!qt使用jni与安卓手机系统的交互,对于很多不会java的人来说,很多人可能会写jni交互,而不是直接用java来与手机交互吗,所以使用jni交互的最大坑是容易导致程序崩溃,在我原创 2017-12-22 16:22:55 · 2391 阅读 · 1 评论