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 правильно подписан и выровнен, и все это?