C
Android仿真器要求
在仿真器中运行
快速评估Qt for Android Automotive的方法是在仿真器上运行示例。Qt不能提供预构建的Android Automotive操作系统(AAOS)镜像,因此您需要构建或自行获取一个。
评估示例的选项有:
- 使用AOSP平台调试密钥构建android仿真器镜像:作为预构建APK提供的Qt for Android Automotive示例将直接运行。
- 使用不同的平台密钥构建AAOS镜像:您现在必须使用相同的平台密钥构建和签名示例APK。
为什么要构建仿真器镜像?
Qt提供的示例APK使用AOSP平台调试密钥签名。这是一个公开可用的密钥,任何人都可以下载和使用。这使这些示例可以以系统应用程序的形式运行。但这确实意味着要评估它们,您需要一个Android Automotive API29或更高版本的镜像。此镜像必须使用相同的公开可用的密钥构建,否则APK将无法工作。
注意:谷歌并不公开分享使用平台调试密钥签名的预构建镜像。
注意:如果您正在使用使用不同平台密钥构建的AAOS镜像,那么您需要使用该相同的平台密钥再次签名APK。
创建平台密钥库
我们将向您展示如何使用Google公开可用的平台证书在AOSP源树中创建Qt for Android Automotive应用程序的密钥库。
您可以在以下位置找到该证书:https://cs.android.com/android/platform/superproject/+/android-12.0.0_r32:build/make/target/product/security/
但是在您所在的系统中,您会发现在以下位置:
<your-AOSP-root>/build/make/target/product/security
在Windows上,如果您还没有做的话,您需要找到自己的可信OpenSSL二进制文件并将其安装。
这里有一个Windows上的公共OpenSSL二进制包,自行承担风险使用。
注意:默认情况下,大多数Linux发行版都包含OpenSSL的一个版本。
在security
文件夹中运行以下命令
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.key openssl pkcs12 -export -in platform.x509.pem -inkey platform.key -name platform -out platform.pem -password pass:password keytool -importkeystore -destkeystore platform.keystore -deststorepass password -srckeystore platform.pem -srcstoretype PKCS12 -srcstorepass password
请记住更改上面的“密码”。
您应看到如下输出
Importing keystore platform.pem to platform.keystore... Entry for alias platform successfully imported. Import command completed: 1 entries successfully imported, 0 entries failed or canceled
然后按照以下如何:签名Android包中的说明操作使用Qt Creator签名应用程序,以便它们可以在运行已签名开发AOSP镜像的设备上运行。
注意:上面提到的通用dev密钥在包含实际非dev密钥的任何AOSP镜像上都无法使用。
另请参阅:启动Android仿真器。
在某些Qt许可协议下提供。
了解更多信息。