Android,apk安装INSTALL_FAILED_POLICY_REJECTED_PERMISSION

时间:2016-09-07 16:41:50

标签: java android

我正在尝试使用Android Studio安装应用程序,我设法安装除此应用程序之外的其他应用程序,当我尝试安装它时,我在INSTALL_FAILED_POLICY_REJECTED_PERMISSION警报之后的Logcat中收到的错误很少,我不是确定哪个错误与主要问题有关(无法安装应用程序),但这里是:

以下错误的2倍:

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

之后有2次:

getAuthToken called with non existant account: myoldemail@gmail.com
Failed to get auth token: no such account
android.accounts.AuthenticatorException: no such account

最后我收到INSTALL_FAILED_POLICY_REJECTED_PERMISSION的提醒。

准确地说(很久以前有一个同名的应用程序,所以它可能有意义,但无论如何点击确定无法安装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?

修改

恢复出厂设置设备,顺便说一句,这是一个4.4.4 Note 4设备并且出现相同的错误,所以它应该是应用程序或构建的东西。

此外,我删除了所有帐户,删除了电子邮件应用,我可能在网上做了所有事情,但仍然是同样的错误。

修改

首先,它正在使用模拟器,现在,这里有更多细节,清单:

<?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/questions/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:1.10.4@aar'
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

3 个答案:

答案 0 :(得分:3)

首先想到的是设备管理应用程序在您的手机上。这通常适用于企业环境中使用的手机。该应用强制您的手机的某些政策。 https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html

由于您已经删除了所有(交换)电子邮件,我的下一个猜测可能是您应用中的问题。很少有库/工具需要开发人员手机正常工作。您是否可以分享您的清单或/和依赖关系,以便更好地了解您的应用?

答案 1 :(得分:1)

您是否在设备上安装了Knox?我有一个类似的问题,三星诺克斯是我得到拒绝的原因。禁用Knox后,我被允许安装.apk。

另外,您是否检查过您允许“未知来源”?我认为你可以安装其他应用程序,但我很好奇它的设置。

你知道.apk是否正确签名并对齐了吗?

答案 2 :(得分:0)

在我更新Android Studio和Gradle之后,我认为它是Gradle(是v2.1.3,现在是v2.2.0)。

顺便说一句,在我更新android studio之后我被要求(通过新的android工作室版本)下载API 19(minSdkVersion)平台工具,我不知道它是否有关但只是想点那个。

编辑:我用旧的gradle版本v2.1.3检查后问题又回来了,看起来问题是gradle(v2.1.3),升级到v2.2.0时没有问题一点。