qt5.10 开发安卓之安卓环境设置

1、jdk 下载:

下载地址:http://www.oracle.com/technetwork/java/javase/overview/index.html

windows 平台不要下载java se10.0,我刚开始安装好这个。环境变量也设置好了,但是安装sdk的时候一直监测不到jdk存在。

我下载的java版本为 Java SE 8u171/ 8u172

参考https://blog.csdn.net/hechao3225/article/details/52982443

2、使用 Qtwebengine 编译时出现 Project ERROR: Unknown module(s) in QT: webengine

使用windos下的qmake 正常运行,但是使用安卓下的qmake编译就出现该问题。

在网上查找资料WebEngine这个东西安卓环境不支持,只好换成webview来替代。

 import QtQuick 2.0

import QtWebView 1.0
 
WebView{
    width: 512
    height: 768
    url:"http://baidu.com"
}
3、想显示一张图片结果不能显示,运行时输出QML Image: Protocol "e" is unknown
image 下的source 不支持绝对路径比如e:/img/img.png
必须是 qrc 或者assets 路径下的资源。
4、安卓使用不在qrc中的文件资源。
首先在.pro中写入
deployment.files +=assets/
deployment.path =/.
INSTALLS += deployment

第一行是你资源所在目录,我的是.pro 文件所在目录下 assets/img.png
第二行是打包到apk的路径,编译时会把img.png复制到android-build\assets路径。使用时直接用“assets:/
img.png";如果你写成deployment.path = /assets 那么代码中应该是“assets:/assets/img.png”
5、加载图片的source可以使用上面的路径,但是用webview 加载本地的html时出现地址模式错误。
assets/demo.html 文件路径 ,webview中使用一下路径。
source:"file:///android_asset/demo.html"
6、复制文件到安卓硬件设备中,并且访问。
我用的是小米手机,它的内部存储设备的实际地址是
/storage/sdcard0/
这路径可以从手机的下载设置中看到。
当我想把apk中assets/目录下的文件拷贝到该路径中,不成功。
后来通过qt 中qdir.currentPath()函数获得了应用程序的工作目录。/data/data/org.qtproject.example.AutoDriver/
后面org.qtproject.example.AutoDriver是应用程序包名。
Qfile::copy("assets:/img.png","/data/data/org.qtproject.example.AutoDriver/img.png") 复制操作成功。
qfile dir("/data/data/org.qtproject.example.AutoDriver/img.png") 访问操作也成功。


猜你喜欢

转载自www.cnblogs.com/kabe/p/9274220.html