Куда мне положить мне мой AdminManager.java в проекте QT?

Привет всем. Пытаюсь сделать приложение в режиме киоска для андроид 5.1 с помощью QT 5.9.9
AndroidManifest.xml
<?xml version="1.0"?>
<manifest package="inc.garage.ncf05m" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.1" android:versionCode="1" android:installLocation="auto">
    <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:icon="@drawable/icon">
        <receiver android:name=".AdminManager" android:permission="android.permission.BIND_DEVICE_ADMIN">
            <meta-data android:name="android.app.device_admin" android:resource="@xml/policies" />
            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            </intent-filter>
        </receiver>

        <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="portrait" android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.HOME"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.settings.SETTINGS"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
.....


/android/res/xml/policies.xml
<device-admin>
</device-admin>


/android/src/inc/garage/nfc05m/AdminManager.java
package inc.garage.nfc05m;
import android.app.admin.DeviceAdminReceiver;
public class AdminManager extends DeviceAdminReceiver{
}


После деплоя приложения, пытаюсь получить device owner adb:
$adb shell dpm set-device-owner inc.garage.ncf05m/.AdminManager
Success: Device owner set to package inc.garage.ncf05m
Active admin set to component {inc.garage.ncf05m/inc.garage.ncf05m.AdminManager}


При этом приложение вылетает и application output qt creatora говорит следующее:

LOGCAT: E/AndroidRuntime( 2110): FATAL EXCEPTION: main

LOGCAT: E/AndroidRuntime( 2110): Process: inc.garage.ncf05m, PID: 2110

LOGCAT: E/AndroidRuntime( 2110): java.lang.RuntimeException: Unable to instantiate receiver inc.garage.ncf05m.AdminManager: java.lang.ClassNotFoundException: Didn't find class "inc.garage.ncf05m.AdminManager" on path: DexPathList[[zip file "/data/app/inc.garage.ncf05m-1/base.apk"],nativeLibraryDirectories=[/data/app/inc.garage.ncf05m-1/lib/arm, /vendor/lib, /system/lib]]


Вопрос в том куда ложить файл с классом AdminManager, чтобы его все находили при необходимости. Спасибо!
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы