我有從我的資產目錄應用安裝「/數據/數據/名稱複製文件(二進制文件的.so)的問題。 ofmy.app/lib「目錄。的Android例外「打開失敗:EACCES(拒絕)」 - 不是由於SD卡
當我嘗試,我得到以下錯誤:
07-09 11:00:48.902: W/System.err(25122): java.io.FileNotFoundException: /data/data/name.ofmy.app/lib/libOlsrdPudWireFormat.so: open failed: EACCES (Permission denied)
這種情況發生在下面的代碼被ececuted:
if ((so = new File(dir, fileName)).exists()) {
/*
* Check to see if this timestamp pre-dates the current package
*/
if ((pkg = new File(ctx.getPackageResourcePath())).exists()) {
if (pkg.lastModified() < so.lastModified()) {
Log.v(TAG, "extractFile: File up to date");
return;
}
}
Log.v(TAG, "extractFile: library present but out of date");
so.delete();
}
Log.v(TAG, "extractFile: copying library");
InputStream in = ctx.getAssets().open(name);
FileOutputStream out = new FileOutputStream(so);
它的權利在InputStream in = ctx.getAssets().open(name);
休息時,沒有一個已經存在的與該文件的文件名...
我一直在這裏閱讀棧溢出 類似的問題,但不幸的是這並沒有幫幫我。大多數是複製到SD卡,但我不是。
而且奇怪的是,以前的目錄(如/ bin而不是/ lib中),這也是我的資產內提供,並沒有任何問題,在同一被複制/ DAT /數據...目錄!
我嘗試添加了<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
許可無濟於事。
我甚至嘗試添加Runtime.getRuntime().exec("su");
就在我試圖複製任何東西,也無濟於事。
這是一個根植手機BTW!
我也仔細檢查過,如果文件真的存在於資產中,那就是!
移動此評論爲答案 – TiGer