Qt for Android——打包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中,以及如何通过代码访问。

    3.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是安卓的一个目录,是可以用来放资源文件的

    3.2 在代码中访问打包进APK的资源文件

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

            assets:/data/readme.txt

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

    QImage、QFile等。(之前一直纳闷,明明在windows下能正常运行的怎么到了android这就不行了,找了半天终于发现是文件

    读取除了问题,于是试了试用Qt的东西来搞,一下就成功了,不禁感叹一句,这也是Qt跨平台的便利之处,真牛!)

5. 总结

    以上就是将资源文件打包进APK的方法,这是在Qt官方文档里面找到的方法,对于Qt做IOS开发也同样适用只不多最后一句要改一下。(如果不适用找Qt去,别找我哈哈)

    

发布了16 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zhounixing/article/details/89887671