4

我有一个Android应用程序,可以完美地在Android 2-2和2-3上运行。但是当我尝试在Android 4-0或4-2-2上安装应用程序时,我两次得到以下错误:Android“找不到内容提供者或权限被吊销”Android 4

未找到许可权撤销的内容提供者:file:/// data/local/tmp/myapp apk文件

我发现别人也有类似的问题,我想在下面的链接中给出的解决方案:

Cannot install APK on Android device through Eclipse 这一个我不得不说,我的设备没有扎根。我尝试在模拟器上运行我的应用程序。

Android 4.0.3 emulator: install fails with "permission revoke"

Android error message on install "no content provider found" 在这里,我尝试另一部手机仿真器。原来我用的Galaxy Nexus的,但我也试图与的Nexus 7

Android "No content provider found for permission revoke" 最后但并非最不重要我想主要动作添加到“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文件或者你有其他想法,为什么我可以在4运行在Android 2,但不是这个应用程序?

+0

你是怎么解决这个问题的? – 2013-08-13 03:40:49

回答

3

我有同样的问题,并没有任何当前的答案伎俩。这为我工作:

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

'-S' 把它放到SD卡上,我不知道,如果这对你的情况是必要的。

+0

我以类似的方式解决了这个问题,将200MB添加到我的AVD定义的SD卡中。 – mbenegas 2014-06-03 21:57:01

+0

我得到**失败[INSTALL_FAILED_INVALID_INSTALL_LOCATION] ** – 2016-12-20 21:16:25

0

将一些内存添加到您的虚拟设备并卸载您的应用程序。重新安装,并瞧!它为我工作,我甚至没有使用我的应用程序的存储。

0

红鲱鱼:“没有内容提供商发现或许可撤销”

我发现,消息是多余的。在我调查的软件包安装案例中,它只是一个警告消息,说明软件包URI不包含“授权”(用户标识/密码)部分。 handleStartCopy(),(在框架/基/服务/ JAVA/COM /安卓/服务器/ PM/PackageManagerService.java)作用:

mContext.grantUriPermission(DEFAULT_CONTAINER_PACKAGE, mPackageURI, Intent.FLAG_GRANT_READ_URI_PERMISSION); 

一些工作,然后:

mContext.revokeUriPermission(mPackageURI, Intent.FLAG_GRANT_READ_URI_PERMISSION); 

的消息真实,但无关紧要。 (removeUriPermission()在frameworks/base/services/java/com/android/server/pm/ActivityManagerService.java中)

1

此消息可能表示设备上的内部存储空间不足。 Android开始抱怨有一定的等级,并且不会安装新的应用程序。我看到“找不到允许撤销的内容提供商”,伴随着“空间不足”或“安装错误代码:-20”或“INSTALL_FAILED_MEDIA_UNAVAILABLE”或“包安装状态为-20”等错误 - 这都意味着一样。就我而言,解决方案是释放一些存储空间(清除缓存/数据,卸载一些应用程序)。