首页 > 其他分享 >QT6 android下配置文件打包到APK

QT6 android下配置文件打包到APK

时间:2024-03-22 09:31:11浏览次数:29  
标签:QT6 文件 dataFiles 配置文件 -- APK android 打包

一.遇到问题

   用QT做android开发,生成的apk文件默认不包含程序配置文件和png文件,导致程序在android上无法读取必要的参数和logo,本文主要解决这个问题,并详细讲述QT android 的apk程序打包流程。

二.APK打包流程

1.如何生成APK

  当我们的工程的构建套件选择Android编译器的时候,编译之后Qt会自动为我们生成APK文件。如果是编译并运行,Qt会要求你选择一个匹配的安卓虚拟设备或者真机设备,

它会自动把编译生成的APK安装到你选择的设备中,然后运行。你也可以通过这个来调试程序。

2.APK的生成路径

  默认生成的apk的路径在build下:

  android-build/build/outputs/apk/debug/

  android-build/build/outputs/apk/release/

3.打包文件

  这是本文的重点,如何将资源文件打包进APK中,以及如何通过代码访问。

(1)打包

     要想把一些文件打包进APK,需要在pro文件里面这样写:

dataFiles.files+=src/readme.txt

dataFiles.files+=src/pic.png

dataFiles.path = /assets/data

INSTALLS += dataFiles

        --dataFiles使我们需要添加的资源文件(可能是一个或多个) 的名字,代表所有我们想打包进APK的文件,它只在pro文件

           中使用,所以可以随意命名,只要前后保持一致即可

        --src是一个和pro文件同级的目录,可以将想要打包进APK的文件都放在这个目录下面

        --dataFiles.files可以将想要打包的资源文件都包含进来

        --dataFiles.path可以指定这些文件打包进APK之后的路径

        --最后添加代码 INSTALLS += dataFiles 即可打包

        --上述的例子中,我将src文件夹下的readme.txt和pic.png两个文件打包到了APK中,放在了assets/data目录下

        --assets是安卓的一个目录,是专门可以用来放APK对应的资源文件的

(2)在代码中访问打包进APK的资源文件

     如果要访问上面添加的两个文件,使用如下的路径即可:

     assets:/data/readme.txt

(3)需要注意:

     在安卓平台下,std和C标准库的文件操作函数似乎不能识别这个路径,所以要使用Qt提供的类,比如

     QImage、QFile、QDir等。(这也是Qt跨平台的便利之处)

(4)ios平台设置(Qt官方文档里面找到的方法)

4.代码实现

    QFile file1("assets:/data/readme1.txt");

    if (file1.open(QIODevice::ReadOnly | QIODevice::Text)) {

        qDebug() << "file open ok" ;

        QTextStream in(&file1);

        QString line;

        while (!in.atEnd()) {

            line = in.readLine();

            qDebug() << "读取文件内容:" << line;

        }

    }

    

注意:

     file1.open(QIODevice::ReadOnly)只能以只读方式打开,如果以读写方式打开是会打开失败的,因为这个android的专用资源文件路径不允许写。

标签:QT6,文件,dataFiles,配置文件,--,APK,android,打包
From: https://blog.csdn.net/xieliru/article/details/136929035

相关文章

  • 一个基于配置文件构建有向无环图,并多线程运行图上节点的例子
    #include<iostream>#include<memory>#include<thread>#include<vector>classNode{public:virtualvoidshow()=0;virtualboolhasFinished(){returnhas_finished_;}protected:boolhas_finished_=false;};classA......
  • QT6实现创建与操作sqlite数据库三种方式方式对比(二)
    一.概述Qt访问Sqlite数据库的三种方式(即使用三种类库去访问),QSqlQuery、QSqlQueryModel、QSqlTableModel,对于这三种类库,可看为一个比一个上层,也就是封装的更厉害,甚至第三种QSqlTableModel,根本就不需要开发者懂SQL语言,也能操作Sqlite数据库。二.Qt读写Sqlite数据库的三种方......
  • windows下启停jar并指定application.yml配置文件
    启动脚本start.bat@echooffREM设置jar文件名和application.yml文件名setJAR_FILE=xxx-boot.jarsetYML_FILE=application-prod.ymlsetACTIVE=prodsetPORT=8080REM启动jar:startjava-jar%JAR_FILE%--server.port=%PORT%--spring.profiles.active=%ACTIVE%--s......
  • Python配置文件使用教程
    在Python应用程序开发过程中,配置文件扮演着重要的角色。配置文件可以用来存储应用程序的各种设置、选项和参数,使得程序更加灵活和可配置。本文将介绍Python中如何使用配置文件,并提供一些常见的配置文件处理方法。一、配置文件格式常见的配置文件格式有多种,包括INI格式、J......
  • Python配置文件使用教程
    在Python应用程序开发过程中,配置文件扮演着重要的角色。配置文件可以用来存储应用程序的各种设置、选项和参数,使得程序更加灵活和可配置。本文将介绍Python中如何使用配置文件,并提供一些常见的配置文件处理方法。一、配置文件格式常见的配置文件格式有多种,包括INI格式、JS......
  • 常用开发工具系统环境变量及配置文件
    环境变量EnvironmentVariables用户变量IntelliJIDEAC:\Developer\JetBrains\IntelliJIDEA2021.2.1\bin;Path%IntelliJIDEA%系统变量TomcatCATALINA_BASEC:\Developer\Tomcat\tomcat64-9.0.65CATALINA_HOMEC:\Developer\Tomca......
  • 上海安川机器人SGM7G-30APK-YR11电机维修让你放心
    一、安川机器人SGM7G-30APK-YR11电机常见电机故障·绕组短路:电机长时间运行或过载可能导致绕组绝缘层损坏,进而引发短路。·轴承磨损:轴承是安川机器人SGM7G-30APK-YR11电机转动的关键部件,长时间使用或缺乏维护会导致磨损,影响电机精度和稳定性。·编码器故障:编码器用于提供......
  • linux配置文件
    [.bashrc]bashresourceconfiguration配置文件[给命令设置别名]设置临时别名,只在当前终端有效//设置别名user$aliaslss='ls'//查看已经设置的别名user$alias//删除别名user$unaliaslss设置永久别名,在~/.bashrc中间中写入alias别......
  • docker配置文件解析
    {"authorization-plugins":[],//用于指定授权插件的列表,一般用于自定义认证"data-root":"",//Docker运行时使用的根路径,默认/var/lib/docker"dns":[],//设定容器DNS的地址,在容器的/etc/resolv.conf文件中可查看"dns-opts":[],//容器/etc/resolv.conf文件,其他设......
  • 【Android】使用Android Studio打包APK文件
    文章目录1.新建项目2.打包生成APK3.安装APK 1.新建项目打包APK之前,首先需要新建项目,有基础的可以跳过。无基础的可以参考:使用AndroidStudio运行HelloWorld项目2.打包生成APK1.找到Build->GenerateSignedBundleorAPK->勾选APK  2.首次需要创建......