Czy istnieje sposób na uzyskanie katalogu aplikacji, aby zapisać prywatne dane do pliku dla mojej aplikacji bezpośrednio z NDK? Innymi słowy, potrzebuję odpowiednika funkcji Java mContext.getFilesDir().
Zauważyłem, że inne posty, takie jak ten: Plik zapisu Android NDK
Wspomnij, jakie jest „zwykłe” miejsce tego katalogu. Ale żeby było to poprawne we wszystkich wersjach i na wszystkich urządzeniach, z pewnością konieczne jest równoważne wywołanie systemowe.
Obecnie używam NativeActivity i w ogóle nie korzystam z Javy.
Dziękuję za Twój czas.
2 odpowiedzi
Jeśli używasz NativeActivity
, masz dostęp z kodu natywnego do instancji ANativeActivity
(patrz <ndk_root>/platforms/android-9/arch-arm/usr/include/android/native_activity.h
), która ma członków internalDataPath
i externalDataPath
.
Mam niestandardową klasę pomocniczą do uzyskiwania dostępu do różnych ścieżek, dla katalogu danych robię to:
- Przeczytaj
/proc/self/cmdline
lub/proc/**MyPID**/cmdline
- Dołącz wyniki z nr 1 do
/data/data/
Przykładowe wyniki:
/data/data/com.yourcompany.yourproduct/
MyPID
, możesz po prostu zastąpić to "self", tj. przeczytać /proc/self/cmdline
, a to zaoszczędzi ci trochę dodatkowych kłopotów.
Podobne pytania
Nowe pytania
android
Android to mobilny system operacyjny Google, używany do programowania lub tworzenia urządzeń cyfrowych (smartfony, tablety, samochody, telewizory, Wear, Glass, IoT). W przypadku tematów związanych z Androidem użyj tagów specyficznych dla Androida, takich jak android-intent, android-activity, android-adapter itp. W przypadku pytań innych niż programowanie lub programowanie, ale związanych ze strukturą Androida, użyj tego linku: https: // android.stackexchange.com.