Qt 为Android app添加系统签名

flyfish

一 环境

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 23.04
Release:	23.04
Codename:	lunar

Qt Creator 10.0.2
构建套件 Qt 6.5.1 Clang arm64-v8a

二 运行Qt

如果没有Qt图标
在终端运行或者右键单击该文件 -> 作为程序执行

Qt 为Android app添加系统签名-LMLPHP

三 添加权限

新增AndroidManifest.xml
项目 -> 构建 -> 创建模板
Qt 为Android app添加系统签名-LMLPHP

概要是界面显示
XML源是xml脚本显示
Qt 为Android app添加系统签名-LMLPHP

<?xml version="1.0"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.qtproject.example" android:installLocation="auto" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:versionName="-- %%INSERT_VERSION_NAME%% --">
    <!-- %%INSERT_PERMISSIONS -->
    <!-- %%INSERT_FEATURES -->
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="true"/>
    <application android:name="org.qtproject.qt.android.bindings.QtApplication" android:hardwareAccelerated="true" android:label="-- %%INSERT_APP_NAME%% --" android:requestLegacyExternalStorage="true" android:allowNativeHeapPointerTagging="false" android:allowBackup="true" android:fullBackupOnly="false">
        <activity android:name="org.qtproject.qt.android.bindings.QtActivity" android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:label="-- %%INSERT_APP_NAME%% --" android:launchMode="singleTop" android:screenOrientation="unspecified" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
            <meta-data android:name="android.app.arguments" android:value="-- %%INSERT_APP_ARGUMENTS%% --"/>
            <meta-data android:name="android.app.extract_android_style" android:value="minimal"/>
        </activity>
    </application>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
</manifest>

系统权限
android:versionName="-- %%INSERT_VERSION_NAME%% --" 后面加入一行

android:sharedUserId="android.uid.system"

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="org.qtproject.example" 
android:installLocation="auto" 
android:versionCode="-- %%INSERT_VERSION_CODE%% --" 
android:versionName="-- %%INSERT_VERSION_NAME%% --"
android:sharedUserId="android.uid.system">

四 添加签名

项目 -> 构建 -> 应用签名
Qt 为Android app添加系统签名-LMLPHP
输入密码完成

10-16 20:32