1、Qt Creator 4.11.2
官方下載:https://download.qt.io/archive/qtcreator/4.11/4.11.2/
鏡像下載:https://mirrors.cloud.tencent.com/qt/archive/qtcreator/4.11/4.11.2/
2、Qt 5.15.2?Android
官方更新器內(nèi)部下載
參考:https://blog.csdn.net/weixin_41013202/article/details/129957693
3、JDK 8
https://adoptium.net/zh-CN/temurin/releases/
4、以下都在Android Studio內(nèi)部下載:
(1)Android SDK Platform 最新版(現(xiàn)在是33)
(2)Android SDK Build-Tools 最新版(現(xiàn)在是33.0.2)、30.0.3
(3)NDK 21.4
(4)Android SDK Command-line Tools (latest)
(5)Android SDK Platform-Tools
(6)Google USB Driver(用真機調(diào)試就下這個,用虛擬機調(diào)試就下Emulator)
5、.pro文件
(1)使用編譯器支持的最新的C++標準(201707)
CONFIG += c++latest
(2)設置SDK
ANDROID_MIN_SDK_VERSION = 24 # Android 7.0
ANDROID_TARGET_SDK_VERSION = 33 # Android 13
其他SDK版本號參考:https://developer.android.google.cn/studio/releases/platforms?hl=zh-cn
6、AndroidManifest.xml文件
(1)Version name:“1.0”這種版本號格式
(2)Version code:隨便寫
(3)Application name和Activity name:應用名稱
7、Gradle設置
(1)C:/Users/你的用戶名/.gradle/gradle.properties:
## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Fri May 26 17:03:24 CST 2023
systemProp.http.proxyHost=
systemProp.http.proxyPort=80
systemProp.https.proxyHost=
systemProp.https.proxyPort=80
(2)C:/Users/你的用戶名/.gradle/init.gradle:
allprojects {
buildscript {
repositories {
mavenLocal()
maven { url 'https://mirrors.cloud.tencent.com/maven/' }
maven { url 'https://maven.aliyun.com/repository/central/' }
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
maven { url 'https://maven.aliyun.com/repository/spring/' }
maven { url 'https://maven.aliyun.com/repository/spring-plugin/' }
maven { url 'https://maven.aliyun.com/repository/grails-core/' }
maven { url 'https://maven.aliyun.com/repository/apache-snapshots/' }
mavenCentral()
}
}
repositories {
mavenLocal()
maven { url 'https://mirrors.cloud.tencent.com/maven/' }
maven { url 'https://maven.aliyun.com/repository/central/' }
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
maven { url 'https://maven.aliyun.com/repository/spring/' }
maven { url 'https://maven.aliyun.com/repository/spring-plugin/' }
maven { url 'https://maven.aliyun.com/repository/grails-core/' }
maven { url 'https://maven.aliyun.com/repository/apache-snapshots/' }
mavenCentral()
}
}
(3)項目目錄/android/build.gradle:
buildscript {
repositories {
mavenLocal()
maven { url 'https://mirrors.cloud.tencent.com/maven/' }
maven { url 'https://maven.aliyun.com/repository/central/' }
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
maven { url 'https://maven.aliyun.com/repository/spring/' }
maven { url 'https://maven.aliyun.com/repository/spring-plugin/' }
maven { url 'https://maven.aliyun.com/repository/grails-core/' }
maven { url 'https://maven.aliyun.com/repository/apache-snapshots/' }
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.2'
}
}
repositories {
mavenLocal()
maven { url 'https://mirrors.cloud.tencent.com/maven/' }
maven { url 'https://maven.aliyun.com/repository/central/' }
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
maven { url 'https://maven.aliyun.com/repository/spring/' }
maven { url 'https://maven.aliyun.com/repository/spring-plugin/' }
maven { url 'https://maven.aliyun.com/repository/grails-core/' }
maven { url 'https://maven.aliyun.com/repository/apache-snapshots/' }
mavenCentral()
}
apply plugin: 'com.android.application'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}
android {
/*******************************************************
* The following variables:
* - androidBuildToolsVersion,
* - androidCompileSdkVersion
* - qt5AndroidDir - holds the path to qt android files
* needed to build any Qt application
* on Android.
*
* are defined in gradle.properties file. This file is
* updated by QtCreator and androiddeployqt tools.
* Changing them manually might break the compilation!
*******************************************************/
compileSdkVersion androidCompileSdkVersion.toInteger()
buildToolsVersion '30.0.3'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
res.srcDirs = [qt5AndroidDir + '/res', 'res']
resources.srcDirs = ['resources']
renderscript.srcDirs = ['src']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
}
tasks.withType(JavaCompile) {
options.incremental = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
abortOnError false
}
// Do not compress Qt binary resources file
aaptOptions {
noCompress 'rcc'
}
defaultConfig {
resConfig "en"
minSdkVersion = qtMinSdkVersion
targetSdkVersion = qtTargetSdkVersion
}
}
(4)項目目錄/android/gradle/wrapper/gradle-wrapper.properties:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.6.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
8、構(gòu)建目錄
(1)建議把構(gòu)建目錄的名稱改短一點,因為文件夾名字太長會編譯不了。
9、代碼測試
(1)輸出編譯器使用的C++標準(201707)
qDebug() << __cplusplus;
10、報錯解決
(1)如果在編譯過程中報錯“android:exported......”,就要在AndroidManifest.xml文件的<activity>處添加android:exported="true":文章來源:http://www.zghlxwxcb.cn/news/detail-621506.html
<activity android:exported="true" ............文章來源地址http://www.zghlxwxcb.cn/news/detail-621506.html
到了這里,關于Qt5.15.2安卓Android項目開發(fā)環(huán)境配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!