This issue could be fixed by remove the style part from the template html in API29, even the file is correct and validated.
So guess there are webview exceptions happen in API29, webview dose not ignore own-identified exception and does not display content.
Another QML testing in QT 5.15.2:
QString htmlStr = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">\n<html><head><meta name="qrichtext" content="1" /><style type="text/css">\np, li { white-space: pre-wrap; }\n</style></head><body style=" font-family:'.AppleSystemUIFont'; font-size:13pt; font-weight:400; font-style:normal;">\n<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" color:#110d62;"> </span><span style=" font-weight:600; color:#110d62;">Welcome to set Android TargetSdkVersion as 29</span></p>\n<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>\n<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This is webview testing when set targetSdkVersion in QT. When set TargetSdkVersion as 29, if webview load content str has Qt-specific CSS properties like this, webview content display empty. Method is using webViewId.loadHtml(contentStr);</p></body></html>"
webview.loadHtml(htmlStr);
set Android target at API28 works, API29 and API30, webview does not show anything.
Is this QT bug/issue?