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许可协议下提供。
了解更多信息。