PERMISSION DENIED error while copying database to sdcard .pl

心不动则不痛 提交于 2019-12-08 01:57:17

问题


I am trying this for one whole day but i still got this PERMISSION DENIED error after I given WRITE_EXTERNAL STORAGE PERMISSION also. Now i tried this program in my phone. Again the same PERMISSION ERROR is on logcat. i tried with many codes available in this website.It always fails.Guide me with some tuorials for copy database to sdcard

try {
    File sd = Environment.getExternalStorageDirectory();
    File data = Environment.getDataDirectory();

    if (sd.canWrite()) {
        String currentDBPath = "data/com.sri.tut/databases/image_storage.db";
        String backupDBPath = "image_storage.db";
        File currentDB = new File(data, currentDBPath);
        File backupDB = new File(sd, backupDBPath);

        if (currentDB.exists()) {
            FileChannel src = new FileInputStream(currentDB).getChannel();
            FileChannel dst = new FileOutputStream(backupDB).getChannel();
            dst.transferFrom(src, 0, src.size());
            src.close();
            dst.close();
        }
    }
} catch (Exception e) {
}

This is my Logcat output.

    09-14 08:36:07.663: ERROR/Movedb(12336): Error in       Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB      (Permission denied)
    09-14 08:36:09.413: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:09.963: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:10.203: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:10.654: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:10.854: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:11.083: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:11.283: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:11.683: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:11.934: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:12.224: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:12.463: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:12.734: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:13.053: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:13.413: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:13.694: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:13.914: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:14.303: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:14.563: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:36:14.804: ERROR/Movedb(12336): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:37:42.253: WARN/PackageManager(67): Mounting container com.sri.copydata-1
    09-14 08:37:45.634: WARN/InputManagerService(67): Got RemoteException sending setActive(false) notification to pid 12336 uid 10053




    09-14 08:37:52.463: WARN/PackageManager(67): Code path for pkg : com.sri.copydata changing from /mnt/asec/com.sri.copydata-2/pkg.apk to /mnt/asec/com.sri.copydata-1/pkg.apk
    09-14 08:37:52.463: WARN/PackageManager(67): Resource path for pkg : com.sri.copydata changing from /mnt/asec/com.sri.copydata-2/pkg.apk to /mnt/asec/com.sri.copydata-1/pkg.apk
    09-14 08:38:00.773: WARN/RecognitionManagerService(67): no available voice recognition services found
    09-14 08:42:05.613: WARN/PackageManager(67): Mounting container com.sri.copydata-2
    09-14 08:42:11.294: WARN/InputManagerService(67): Got RemoteException sending setActive(false) notification to pid 13273 uid 10053
    09-14 08:42:20.063: WARN/PackageManager(67): Code path for pkg : com.sri.copydata changing from /mnt/asec/com.sri.copydata-1/pkg.apk to /mnt/asec/com.sri.copydata-2/pkg.apk
    09-14 08:42:20.063: WARN/PackageManager(67): Resource path for pkg : com.sri.copydata changing from /mnt/asec/com.sri.copydata-1/pkg.apk to /mnt/asec/com.sri.copydata-2/pkg.ap
    09-14 08:42:29.033: WARN/RecognitionManagerService(67): no available voice recognition services found
    09-14 08:42:51.374: ERROR/Movedb(14575): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)
    09-14 08:43:14.043: ERROR/Movedb(14575): Error in Copyingjava.io.FileNotFoundException: /data/data/com.sri.assign/databases/AssignmentsDB (Permission denied)

回答1:


If you connect the device to your pc and enable

copy files to/from computer etc...

You will not have access to write on the sd card.

Disconnect it from pc and try again or disable copy.




回答2:


the log says you don't have permission to read data from /data/data/com.sri.tut/databases/image_storage.db, by default this /data directory is a linux system directory, its user and group owner is 'system', not your application, so you don't have the permission.

you can see the detail in adb shell, you will see such properties as below: drwxrwx--x system system 2012-09-14 08:30 data



来源:https://stackoverflow.com/questions/12400289/permission-denied-error-while-copying-database-to-sdcard-pl

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!