Mam do czynienia z problemem w jednej z moich aplikacji, mam następujący kod, aby załadować lib (JNI) potrzeby aplikacji:Ładowanie JNI: Ostrzeżenie: Nie używaj hardcode Context.getFilesDir(). GetPath() zamiast
static {
// load the JNI library
Log.i("JNI", "loading JNI library...");
System.load("/data/data/com.mypackage.appname/lib/libxxxxxx.so");
Log.i("JNI", "JNI library loaded!");
}
Otrzymuję ostrzeżenie: "Do note hardcode use Context.getFilesDir().getPath() instead"
, które jest całkowicie zgodne z prawem (nie będzie przenośne na każdym urządzeniu). Chodzi o to, ponieważ używam statycznego nie mogę zadzwonić na Context.getFilesDir().getPath()
.
Czy masz jakieś pomysły na to, jak mogę to zrobić?
Otrzymujesz ostrzeżenie od czego? – EJP
W system.Load otrzymuję: Nie koduj "/ data /"; użyj Context.getFilesDir(). getPath() zamiast tego – Joze
Przyjechałem tutaj z powodu ostrzeżenia o lintach, mówiącego to samo w Eclipse. Zauważyłem ten post, który, jeśli jest poprawny, jest trochę niepokojący: https://code.google.com/p/android/issues/detail?id=43533 – brandall