Android 安卓;找不到内容提供商或权限撤销“;使用安卓4

Android 安卓;找不到内容提供商或权限撤销“;使用安卓4,android,android-emulator,permissions,android-contentprovider,android-4.0-ice-cream-sandwich,Android,Android Emulator,Permissions,Android Contentprovider,Android 4.0 Ice Cream Sandwich,我有一个android应用程序,可以在android 2-2和2-3上完美运行。但当我尝试在android 4-0或4-2-2上安装应用程序时,我两次出现以下错误: 找不到要撤消权限的内容提供程序:file:///data/local/tmp/myapp.apk 我发现其他人也有类似的问题,我尝试了以下链接中给出的解决方案: 对于这一个,我必须说我的设备没有根。我尝试在模拟器上运行我的应用程序 在这里,我尝试了另一个手机的模拟器。最初我使用的是galaxy nexus,但我也尝试了nexu

我有一个android应用程序,可以在android 2-2和2-3上完美运行。但当我尝试在android 4-0或4-2-2上安装应用程序时,我两次出现以下错误:

找不到要撤消权限的内容提供程序:file:///data/local/tmp/myapp.apk

我发现其他人也有类似的问题,我尝试了以下链接中给出的解决方案:

对于这一个,我必须说我的设备没有根。我尝试在模拟器上运行我的应用程序

在这里,我尝试了另一个手机的模拟器。最初我使用的是galaxy nexus,但我也尝试了nexus 7

最后但并非最不重要的一点是,我尝试将主操作添加到“androidmanifest.xml”中。我不确定我是否正确地执行了此操作。清单如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.service"
android:versionCode="1"
android:versionName="1.0" >

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />

<uses-sdk
    android:minSdkVersion="4"
    android:targetSdkVersion="6" 
    android:maxSdkVersion="17"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" android:debuggable="true">
    <activity android:name=".SMSReceiver">
        <intent-filter android:priority="1000">
            <action android:name="android.intent.action.MAIN"/>
            <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
</application>


我的manifest.xml文件还有什么问题吗?或者你有没有其他想法,为什么我可以在android 2上运行这个应用程序,但不能在4上运行?

我也有同样的问题,当前的答案都没有解决。这对我很有用:

adb安装-s C:/path/to/your/package/bin/MyApp.apk


“-s”将其放在sd卡上,我不确定这对您的情况是否有必要。

为您的虚拟设备添加一些内存,然后卸载您的应用程序。重新安装,瞧!它对我很有效,我甚至没有在我的应用程序上使用存储。

红鲱鱼:“找不到内容提供商,也没有撤销权限”

我发现那条信息是无关的。在我调查的包安装案例中,它只是一条警告消息,说明包URI不包含“authority”(userid/password)部分。handleStartCopy(),(在frameworks/base/services/java/com/android/server/pm/PackageManagerService.java中)执行以下操作:

一些工作,然后:

mContext.revokeUriPermission(mPackageURI, Intent.FLAG_GRANT_READ_URI_PERMISSION);

这个信息是真实的,但并不重要。(removeUriPermission()位于frameworks/base/services/java/com/android/server/pm/ActivityManagerService.java中)

此消息可能表示设备上的内部存储不足。Android在一定程度上开始抱怨,不会安装新的应用程序。我看到“找不到可撤销权限的内容提供商”伴随着错误,如“空间不足”、“安装错误代码:-20”、“安装失败、媒体不可用”或“is-20的软件包安装状态”——所有这些都是同一意思。在我的例子中,解决方案是释放一些存储空间(清除缓存/数据,卸载一些应用程序)。

你是如何解决这个问题的?我以类似的方式修复了这个问题,在我的AVD定义的SD卡上添加了200MB。我失败了[安装失败\u安装位置无效]
mContext.revokeUriPermission(mPackageURI, Intent.FLAG_GRANT_READ_URI_PERMISSION);