Android, установка apk INSTALL_FAILED_POLICY_REJECTED_PERMISSION

Я пытаюсь установить приложение с помощью Android Studio, мне удается установить другие приложения, кроме этого приложения, когда я пытаюсь установить его. Я получаю несколько ошибок в Logcat, следующих за INSTALL_FAILED_POLICY_REJECTED_PERMISSION alert, я не уверен, что ошибка связана с основной проблемой (неспособной установить приложение), но вот они:

2 раза следующая ошибка:

com.example.appName has no certificates at entry AndroidManifest.xml; ignoring!

после этого есть 2 раза:

getAuthToken called with non existant account: [email protected]
Failed to get auth token: no such account
android.accounts.AuthenticatorException: no such account

И наконец, я получаю предупреждение с INSTALL_FAILED_POLICY_REJECTED_PERMISSION.

Чтобы быть точным (давно было приложение с тем же именем, так что это может иметь смысл, но в любом случае щелчок ok не может установить apk):

Installation failed with message INSTALL_FAILED_POLICY_REJECTED_PERMISSION.
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.

WARNING: Uninstalling will remove the application data!

Do you want to uninstall the existing application?

Edit:

I factory reset устройство, а btw, это устройство 4.4.4 Note 4 и такая же ошибка, поэтому это должно быть приложение или что-то еще со сборкой.

Кроме того, я удалил все мои учетные записи, удалил приложение электронной почты, я, вероятно, все делал в Интернете, но все же, ту же ошибку.

Edit:

Во-первых, теперь он работает над эмуляторами, вот некоторые подробности, манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.appName">


    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <permission
        android:name="com.example.appName.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <uses-permission android:name="com.example.appName.permission.C2D_MESSAGE" />

    <application
        android:name=".AppClass"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!-- https://github.com/ParsePlatform/Parse-SDK-Android/issues/39 -->
        <meta-data
            android:name="com.parse.push.gcm_sender_id"
            android:value="id:1057382563338" />
        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />

        <activity
            android:name=".activities.MainActivity"
            android:label="AppName"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activities.RegistrationActivity"
            android:label="Registration"
            android:parentActivityName=".activities.MainActivity"
            android:theme="@style/AppTheme.NoActionBar">
            <!-- The meta-data element is needed for versions lower than 4.1 -->
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".activities.MainActivity" />
        </activity>
        <activity
            android:name=".activities.TouActivity"
            android:label="Terms of use"
            android:parentActivityName=".activities.MainActivity"
            android:theme="@style/AppTheme.NoActionBar">
            <!-- The meta-data element is needed for versions lower than 4.1 -->
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".activities.MainActivity" />
        </activity>
        <activity
            android:name=".activities.PPActivity"
            android:label="Privacy policy"
            android:parentActivityName=".activities.MainActivity"
            android:theme="@style/AppTheme.NoActionBar">
            <!-- The meta-data element is needed for versions lower than 4.1 -->
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".activities.MainActivity" />
        </activity>

        <activity
            android:name=".activities.DashboardActivity"
            android:label="Dashboard"
            android:launchMode="singleTop"
            android:theme="@style/AppTheme.NoActionBar" />

        <activity
            android:name=".activities.PassChangeActivity"
            android:label="Password change"
            android:parentActivityName=".activities.DashboardActivity"
            android:theme="@style/AppTheme.NoActionBar">
            <!-- The meta-data element is needed for versions lower than 4.1 -->
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".activities.DashboardActivity" />
        </activity>

        <receiver android:name=".gps.GpsLocationReceiver">
            <intent-filter>
                <action android:name="android.location.PROVIDERS_CHANGED" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
        <receiver
            android:name=".utils.CustomPushReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.DELETE" />
                <action android:name="com.parse.push.intent.OPEN" />
            </intent-filter>
        </receiver>

        <service android:name="com.parse.PushService" />
        <!-- This receiver calling PushService defined above -->
        <receiver
            android:name="com.parse.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <!-- Receive the actual message -->
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <!-- Receive the registration id, http://stackoverflow.com/info/22217601/is-com-google-android-c2dm-intent-registration-deprecated -->
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <category android:name="com.example.appName" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

Что касается моих зависимостей:

compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.android.support:support-v4:24.2.0'
compile 'com.facebook.android:facebook-android-sdk:4.15.0'
compile 'com.parse:parsefacebookutils-v4-android:[email protected]'
compile 'com.parse:parse-android:1.13.1'
compile 'com.parse:parsetwitterutils-android:1.10.5'
compile 'com.android.support:cardview-v7:24.2.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.jakewharton.rxbinding:rxbinding-appcompat-v7:0.4.0'

compileSdkVersion + targetSdkVersion установлено равным 24, а minSdkVersion установлено равным 19

Ответы

Ответ 1

После обновления Android Studio и Gradle он работает, я предполагаю, что он был Gradle (был v2.1.3 и теперь v2.2.0).

Btw, после того, как я обновил андроид-студию, мне было предложено (по новой версии студии Android) загрузить инструменты платформы API 19 (minSdkVersion), я не знаю, связано ли это, но просто хотел указать на это.

Изменить: после того, как я проверил со старой версией Gradle версии v2.1.3, проблема вернулась, так что проблема была Gradle (v2.1.3) при обновлении до версии v2. 2.0 нет никаких проблем.

Ответ 2

Первое, что приходит на ум, - это приложение администратора устройства на вашем телефоне. Обычно это относится к телефонам, используемым в корпоративных настройках. Приложение использует определенные политики для вашего телефона. https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html

Как вы уже удалили все свои (обменные) письма, моя следующая догадка может быть проблемой в вашем приложении. Существует несколько библиотек/инструментов, которые требуют, чтобы телефоны разработчиков работали правильно. Можете ли вы поделиться своими манифестами и/или зависимостями, чтобы дать нам лучшую картину вашего приложения?

Ответ 3

У вас установлен нокс на устройстве? У меня была аналогичная проблема, и Samsung Knox был причиной, почему я получал отказ. После того, как я отключил Knox, мне было разрешено установить .apk.

Также вы проверили, что у вас есть "Неизвестные источники"? Я предполагаю, что вы это сделали, так как вы смогли установить другие приложения, но мне любопытно, на что он установлен.

Знаете ли вы, что .apk правильно подписан и выровнен, и все это?