adb permission denied adb permission denied
Danke Danke:  0
Ergebnis 1 bis 7 von 7
  1. Hallo zusammen

    Ich schreibe an einer kleinen App, wo ich Daten in einer SQLite DB mitgebe. Auf dem Emulator hat das wunderbar geklappt, wenn ich das aber auf meine Handy (HTC Desire) machen möchte bekomme ich eine Fehlermeldung.

    Wollte dann über adb shell nachschauen, ob die DB auch kopiert wurde. Ich sehe zwar das Verzeichnis /data/data/<mein Package> kann aber nicht darauf zugreifen. 'Permission denied'. genauso wenn ich 'su' eingebe 'Permission denied'.

    Bin nicht so der Hacker und Linux ist auch nicht meine Welt. Wahrscheinlich hab ich was elementares vergessen. In anderen Foren schreiben sie Sachen wie, zuerst rooten, mounten etc. Kann mir jemand auf die Sprünge helfen?

    Danke
    Ile

    PS: die Einstellungen unter 'Entwickler' habe ich alle zugelassen.
    0
     

  2. Vielleicht solltest du etwas mehr Infos geben
    Woher kommt die DB?
    Wird sie intern abgefüllt, ist es eine Datei die du in den assets mitlieferst, lädst du sie aus dem Internet...?
    Welche Fehlermeldung kommt? Bitte LogCat mit Code-Ausschnitt posten.
    0
     

  3. Sorry... Ich dachte das Problem liegt an den Berechtigungen vom Handy und nicht am Code(Im Emulator läuft es ohne Probleme), deshalb die spärlichen Infos.

    Die DB wird im assets mitgeliefert.
    logcat:
    03-21 16:42:16.533: ERROR/Database(268): sqlite3_open_v2("/data/data/<package>/databases/MYDB", &handle, 1, NULL) failed

    Das passiert wenn ich prüfen will ob die DB bereits existiert:

    private boolean checkDataBase(){
    SQLiteDatabase checkDB = null;
    try{
    String myPath = DB_PATH + DB_NAME;
    checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
    Log.i(DEBUG_TAG, "checkdatabase1");
    }catch(SQLiteException e){
    ...etc


    wie gesagt, über die shell mit dem adb.exe sehe ich den folder '/data/data/<package> wenn ich ls /data/data/* eingebe. in den Folder selber, wo die Datenbank sein sollte komme ich aber nicht, da ich immer 'permission denied' erhalte.

    ich vermute a), dass der Fehler passiert weil ich nicht die richtigen Berechtigungen habe oder b) die DB nicht da ist wo sie sein sollte, oder c) die DB ist da, hat aber keine Tabellen oder sowas in der Richtung.
    0
     

  4. Hast du auch noch die Exception? Es muss ja ne bestimmte Exception geben und mit der ist es einiges einfacher herauszufinden was schief läuft.
    Andere Frage: kommt es überhaupt bis zum Log-Eintrag? Ich nehme an das "checkdatabase1" wird nicht mehr ausgegeben oder?
    0
     

  5. Nein, 'checkdatabase1' kommt nicht. Leider ist es wieder mal soweit, bekomme keine Log und Console Einträge mehr wenn ich das Programm über das HTC laufen lasse.... (hatte ich schon mal, nach etwa 2 Tagen hats dann wieder funktioniert... keine Ahnung was das ist). Sorry, kann dir im Moment nicht sagen wie die Exception lautet. (hatte sie vorher auch nicht ausprogrammiert :/ )

    ...weisst du oder jemand sonst hier evtl. wie ich die richtigen permissions einstellen kann, damit ich über die adb shell wenigstens mal gucken kann ob die DB überhaupt geladen wurde? Ich vermute das Problem liegt irgendwo da begraben.
    0
     

  6. Sorry, hat ein Weilchen gedauert.
    Mein Debugger funktioniert in der Zwischenzeit und auch das LogCat ist wieder aufgetaucht (sehr merkwürdig).

    Also. Ich prüfe ob meine DB bereits besteht und falls nicht wird sie kopiert (aus asset SQLite DB)


    public void createDataBase() throws IOException {
    boolean dbExist = checkDataBase();
    if (dbExist) {
    Log.i(DEBUG_TAG, "createDataBase -> Datenbank existiert");
    } else {
    this.getReadableDatabase();
    Log.i(DEBUG_TAG, "else, db existiert nicht 1");
    try {
    copyDataBase();
    Log.i(DEBUG_TAG, "nach copydatabase");
    } catch (IOException e) {
    throw new Error("Error copying database");
    }
    }
    }

    private boolean checkDataBase() throws SQLiteException {
    SQLiteDatabase checkDB = null;
    Boolean checkTable = false;
    try {
    String myPath = DB_PATH + DB_NAME;
    checkDB = SQLiteDatabase.openDatabase(myPath, null,
    SQLiteDatabase.OPEN_READWRITE);
    Log.i(DEBUG_TAG, "checkdatabase1");
    } catch (SQLiteException e) {
    Log.e(DEBUG_TAG, "Fehler checkDataBase: ", e);
    }
    if (checkDB != null) {
    checkDB.close();
    }
    return checkDB != null ? true : false;
    }

    private void copyDataBase() throws IOException {
    InputStream myInput = dbContext.getAssets().open(DB_NAME);
    String outFileName = DB_PATH + DB_NAME;
    OutputStream myOutput = new FileOutputStream(outFileName);
    byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer)) > 0) {
    myOutput.write(buffer, 0, length);
    }
    myOutput.flush();
    myOutput.close();
    myInput.close();
    Log.i(DEBUG_TAG, "copydatabase");
    }


    Im LogCat erhalte ich dann folgende Meldungen:

    03-26 17:02:05.053: INFO/Database(24458): sqlite returned: error code = 14, msg = cannot open file at line 27206 of [42537b6056]
    03-26 17:02:05.053: ERROR/Database(24458): sqlite3_open_v2("/data/data/ch.test.gui/databases/PSRDB1", &handle, 2, NULL) failed
    03-26 17:04:17.683: INFO/Database(24458): sqlite returned: error code = 1, msg = no such table: tbl_test

    Die 2te Meldung erhalte ich auch, wenn ich das Programm im Emulator laufen lasse. Weil die DB gibts ja noch nicht. Aber die Meldung 'cannot open file....' gefällt mir nicht so.

    Beim 2ten Durchlauf bekomme ich dann nur noch die 3te Meldung.

    Wie gesagt, im Emulator läuft das Ganze perfekt.

    Muss man noch etwas zusätzliches beachten, wenn man Apps über USB-Debug auf dem Handy laufen lässt? Haber immer noch das Gefühl, dass es ein Berechtigungsproblem sein könnte.

    Bin für jede Hilfe dankbar
    Ile

    PS: @FireRider hab mir deine App mal runtergeladen. Chapeau!!!
    0
     

  7. Habs nach stundenlangem googeln lösen können.
    Falls es jemanden interessiert:
    http://www.anddev.org/networking-dat...hd-t50364.html

    Scheint am Handy-Typ zu liegen.
    0
     

Ähnliche Themen

  1. adb probleme
    Von asmohh im Forum HTC Desire Root und ROM
    Antworten: 1
    Letzter Beitrag: 23.10.2010, 22:30
  2. Adb Mounten?
    Von Android_Newbie im Forum HTC Desire Root und ROM
    Antworten: 4
    Letzter Beitrag: 05.10.2010, 20:29
  3. "Permission denied"
    Von Unregistriert im Forum HTC HD2 Android
    Antworten: 3
    Letzter Beitrag: 17.08.2010, 23:24
  4. Programme per ADB installieren
    Von Froschkönig im Forum Google Nexus One Root und ROM
    Antworten: 8
    Letzter Beitrag: 08.03.2010, 15:52
  5. Adb remount Fehler
    Von Fraqq im Forum HTC Hero Root und ROM
    Antworten: 1
    Letzter Beitrag: 04.03.2010, 14:10

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

adb permission denied

adb shell permission denied

adb shell su permission denied

adb su permission denied

android su permission denied

android data Permission deniedandroid adb sqlite3 permission deniedandroid adb permission deniedandroid adb su permission deniedsu permission denied androidsqlite3 permission deniedandroid permission deniedandroid emulator permission deniedandroid sqlite permission deniedsqlite returned: error code = 14 msg = cannot open file at line 27206adb permissionandroid shell permission deniedandroid sqlite3 permission deniedPermissions Denied androidsqlite3: permission deniedadb java.io.IOException: error=13adb sqlite permission deniedandroid emulator adb permission denieddesire hd adb permission deniedhtc desire adb permission denied

Stichworte