Ich versuche, mit dem NDK auf eine Ausgabedatei zu schreiben, und es scheint nicht zu funktionieren. Der Code, den ich geschrieben habe, sieht so aus:
%Vor%Der Grund, warum der Rückgabetyp ein Double ist, besteht darin, dass ich die Funktion für einen anderen Zweck verwenden möchte, aber ich probiere zuerst die Datei io aus. Im Logcat erhalte ich den folgenden Fehler:
%Vor% Lustig ist, wenn ich versuche, mit java file io in die Caller-Aktivität zu schreiben oder aus derselben Datei zu lesen, habe ich keine Probleme. Und ich habe sichergestellt, dass ich Schreibrechte in der Manifest-Datei habe. Wenn ich die FILE* file ...
-Zeile entferne und versuche, den zurückgegebenen doppelten Wert von der Funktion zu verwenden, läuft das Programm gut. Kann mir bitte jemand helfen? Könnte das Problem zum Beispiel in den Dateien Android.mk oder Application.mk enthalten sein?
UPDATE Ich benutze eine Samsung Galaxie Note 2, wenn das einen Unterschied macht
UPDATE2
Hier ist der vollständige Code:
Java-Aktivität:
%Vor%Hier ist die native Methode:
%Vor%Hier ist Android.mk:
%Vor%Und hier ist das Manifest:
%Vor%AKTUALISIEREN
Letztes Update: Ich habe den gleichen Code auf jemand anderem Handy versucht, auch eine Galaxy Note 2, und es hat funktioniert. Es scheint, als ob das Problem mit meinem Telefon war. seufzen
Vielleicht ist der Dateipfad falsch. Ich benutzte den SD-Kartenpfad als "/ mnt / sdcard /".
Ich kann mich nicht genau erinnern, aber Sie können "/ mnt / sdcard / ..." oder "mnt / sdcard /...".
versuchen Oder Sie können den SDCard-Pfad mit Environment.getExternalStorageDirectory().getAbsolutePath()
abrufen.
Tags und Links java c android file-io android-ndk