QtCreator2.8文档翻译:将应用程序部署到安卓设备上去,Deploying Applications to Android Devices
当妳为某个项目选择了一个 Qt 安卓构建套件 时,Qt Creator会创建一组用于将妳的应用程序部署到安卓设备上去的文件,并且维护它们。
Qt Creator会向妳的项目中加入以下文件:
•. 一些Java文件,作为妳的应用程序的入口,并且自动地载入Qt,以及执行妳的应用程序中的原生代码。
•.AndroidManifest.xml,这个文件提供了妳的应用程序的元数据。
•.其它的XML文件,用于指明妳的应用程序的依赖关系。
•.资源文件。
•. 库和QML文件,这些文件可依照妳所选择的部署方式来包含到项目中去。
Qt Creator 会将这些文件添加到项目中一个叫做 android 的子目录。 android 目录 下的内容,其作用是用来创建一个可发布的应用程序包。
Qt Creator支持按照以下方式来部署安卓应用程序:
•. 一个独立的、可发布的应用程序包(APK)。
在安卓系统中,应用程序 是以APK 文件 的形式来发布的。 Qt Creator 会为妳创建这种 APK文件。如果 妳想手动控制这个过程的话, 则,首先必须确保在正确的位置有着正确的打包及构建文件。 Qt Creator 将这些文件放置在项目的 android 子目录中。
要想配置安卓软件包,则依次选择 项目>运行>Deploy configurations 。安卓系统会使用这个文件中的信息来启动应用程序组件。
在 Android target SDK字段中,可选择针对安卓目标软件开发工具包所使用的API级别。
欲知更多关于安卓API 级别 的信息,则阅读 级别 是什么? 。
对于Qt 5,最低的API 级别是android-9。Qt Creator不允许妳选择当前指定的构建套件中的Qt 版本不支持的API 级别。
在 Sign Package分组中,可以使用某个密钥存储(keystore)中的私钥来对当前的安卓软件包进行签名。要想创建新的密钥,则点击 Create 。
要想调整安卓清单文件中的信息的话,则在Qt Creator 中打开它。
切换到 XML Source标签页,即可以XML 格式来编辑这个文件。
在 Package name 字段中,输入 该应用程序的软件包名字。应用程序 是被一个自动生成的Java 启动器启动的, 该启动器会 与应用程序一起打包到一个安卓软件包(.apk)中。欲知更多信息, 则阅读 安卓应用程序基础 。
妳可以在 Version code 字段中为该软件包指定一个内部版本号。它是用来确定该应用程序的某个版本是否比另一个版本要新。在 Version name 字段中,指定要显示给用户看的版本号。
在 Application 分组中,可以给该应用程序设置一个名字,并且选择一个图标。界面中的三个图标字段,可以分别设置为不同分辨率版本的图片,从左到右分别是低DPI、中DPI和高DPI。
在 Permissions字段中,可以指定妳的应用程序所需要的权限。用户在安装该应用程序时,就会要求赋予这些权限。然后,安卓系统就会赋予对于相应的数据和功能的访问权限。
要添加权限,则点击 Add ,然后从列表中选择对应的权限。
要指定在将应用程序部署到安卓设备过程中的那些选项的话,则依次点击 项目>运行>Deploy configurations>详情 。
要想将Qt库和相应文件复制到项目目录并且作为APK 的一部分打包到一起的话,则选择 Bundle Qt libraries in APK 这个选项。这是使用Qt 5 开发时的默认选项。
要想在一个已经物理连接到开发机的设备(或者是一个模拟器)上测试妳的应用程序的话,妳可以将Qt库复制到妳的设备上的某个临时目录中,然后让妳的应用程序依靠这些文件来运行。
以这种形式构建出来的APK是无法发布的,因为,它要求在设备上的正确位置存在着Qt库。然而,由于Qt库只会被向设备上复制一次,所以,这种方式使得每次调试时的等待时间更短,因而非常适合在开发过程中测试自己的应用程序。
依次点击 项目 > 运行 > Deploy configurations > 详情 ,然后选中 Deploy local Qt libraries to temporary directory 选项, 这样就会将 Qt 库复制 到设备上的 /data/local/tmp/qt 目录,并且 让妳的应用程序依靠它们而运行。
要想将新的Qt库部署到设备上去的话,则点击 Clean Temporary Libraries Directory on Device 。下次部署妳的应用程序的时候,就会将Qt库再次复制到设备上去。
Your opinionsHxLauncher: Launch Android applications by voice commands