2012-07-18 11 views
18

Ich habe eine einfache App HelloWorld Android App in Eclipse (Mac OS X), wenn ich auf dem Emulator/AVD installieren die App erscheint in "Einstellungen -> [Geräte] Apps "Aber nicht im Launcher. Ich stelle fest, in logcat, dass ich diese FehlerAndroid "Kein Inhalt Anbieter für die Erlaubnis zu revozieren"

W/ActivityManager( 160): No content provider found for permission revoke: file:///data/local/tmp/HelloWorld.apk 
W/ActivityManager( 160): No content provider found for permission revoke: file:///data/local/tmp/HelloWorld.apk 
I/PackageManager( 160): Running dexopt on: com.example.helloworld 
D/dalvikvm( 870): DexOpt: load 124ms, verify+opt 459ms, 720236 bytes 
I/ActivityManager( 160): Force stopping package com.example.helloworld uid=10044 

ich gesetzt haben bekommen Lesen/Schreiben/Berechtigungen für das .android Verzeichnis auszuführen.

+2

Siehe http://Stackoverflow.com/a/9532683/165674 http://Stackoverflow.com/a/8646393/165674 http://Stackoverflow.com/q/11073358/165674 –

+0

Danke, aber ich habe lese und probiere die Empfehlungen aus diesem Thread –

+0

@Sean ThreadS, du erwähntest die '.android' und'/data/local' Verzeichnisberechtigungen, was ist mit [dalvic-cache löschen'] (http://stackoverflow.com/questions/9532653/android-4-0-3-emulator-install-fails-with-permission-widerrufen/9532683 # 9532683)? [Probieren mit dieser App] (http://stackoverflow.com/questions/11073358/android-error-message-on-install-no-content-provider-found#comment14494371_11073358)? [Ein anderes Gerät ausprobieren] (http://stackoverflow.com/a/11074769/85950)? Geben diese alle den gleichen Fehler? – blahdiblah

Antwort

6

In meinem Fall habe ich vergessen Haupt Aktivität zu definieren. Also füge ich den folgenden Code in AndroidManifest.xml Haupt Aktivität hinzu.

<intent-filter> 
    <action android:name="android.intent.action.MAIN"/> 
    <category android:name="android.intent.category.LAUNCHER"/> 
</intent-filter> 

, dass das Ergebnis für Aktivität Definition war:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity android:name="RssfeedActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
    <activity android:name="DetailActivity"></activity>   
</application> 
5

Ich denke, dass das Problem mit den Installationsverzeichnisberechtigungen ist. /data/local muss Schreib- und Ausführungsrechte für andere haben, damit adb-Pakete korrekt installiert werden können.

Source

die Sie interessieren, auch: Android - Download App

1

ich auf Linux nur gefunden Lösung, aber ich nicht für Windows, vielleicht, weil in Windows die Verzeichnisse und Berechtigungen waren verwirrt gefunden.

Es ist Arbeit für mich: Fügen Sie den Benutzer "Jeder" im Ordner "C: //YourUser//.Android//" mit voller Kontrolle, dann starten Sie den Emulador neu.

+0

Ich habe nur Berechtigungen und Besitzrechte für den Unterordner 'avd' geändert und das hat wie ein Zauber funktioniert. –

0

Meine Lösung war, die Androiden zu entfernen: sharedUserId-Tag in dem AndroidManifest.xml ...

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.app"
android:theme="@style/MyAppTheme"
android:versionCode="9"
android:versionName="1.2.5" android:sharedUserId="mc">

0

Arbeiten an Cordova und Emulator,

Für mich war das Problem, dass die apk Größe war groß und AVD RAM war zu klein,

Problem bei der Installation der neuen Version der apk und es schlug mit der Meldung "Kein Inhalt Anbieter für die Erlaubnis widerrufen"

eine dieser das Problem für mich festgelegt:

  • die alte apk manuell deinstallieren, bevor Sie die neue Version installieren
  • verringern die apk Größe
  • erhöhen das Gerät RAM
1

Ich hatte das gleiche Problem auf allen meinen Geräten. Mein Problem war von der Laufkonfiguration, ich habe die "Start Standardaktivität" nicht überprüft.

0

Dies funktioniert für mich

Manifest Anwendung prüfen, ob es diese Zeile

<application android:name=".activities.MyApplication" android:allowBackup="true" android:icon="@drawable/launcher_icon" android:label="@string/app_name" android:largeHeap="true" tools:replace="android:icon">

es so tools:replace="android:icon"

enthält, indem diese Zeile tools:replace="android:icon"

<application android:name=".activities.MyApplication" android:allowBackup="true" android:icon="@drawable/launcher_icon" android:label="@string/app_name" android:largeHeap="true" >

entfernen
1

Ich stieß auf dieses Problem beim Erstellen eines neuen signierten APK.

Ich überprüfte die V2 (Vollständige APK-Signatur). Installieren der APK auf einem Gerät hat nicht mehr funktioniert.

Meine Lösung war, stattdessen die V1 (Jar-Signatur) zu überprüfen. Das hat funktioniert.

+0

Dies beantwortet nicht wirklich die Frage. Was bedeutet "check" in diesem Zusammenhang? Wo sind die Signaturen, die du "überprüfst"? Was bedeutet es für die Lösung zu "arbeiten"? – Elliot

+0

Ich denke, er spricht über Android-Studio -> signierte Apk generieren -> mit V1-Option signieren – yerlilbilgin

+0

Das genau mein Problem gelöst. Vielen Dank – yerlilbilgin

Verwandte Themen