0

etcフォルダーにファイルのコピーを作成しようとしています。そのために、ボタンで次のコードを使用します。

changeNTP.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    File exists = new File("/etc/gps.conf");
                    if (exists.exists()) {
                        // We make a backup first
                        CommandCapture command = new CommandCapture(0, "cp -f /etc/gps.conf /etc/gps" + System.currentTimeMillis() + ".conf");
                        try {
                            RootTools.getShell(true).add(command);
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (TimeoutException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (RootDeniedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        // Last time that file was modified
                        //Date filedate = new Date(exists.lastModified());
                    }
                }

            });

問題は、何もコピーしないことです。何が問題なのですか?

ありがとう。

4

1 に答える 1

1

わかりました、次が最善の解決策です:

int date = (int) System.currentTimeMillis();
String source = "/system/etc/gps.conf";
String destination = "/system/etc/gps" + date + ".conf";

if(RootTools.remount("/system/etc/", "rw")){
   RootTools.copyFile(source, destination, true, true);
}

問題は、以前に /etc を指していたことですが、この場所はシンボリック リンクであり、実際のパスは /system/etc です。明らかに、シンボリック リンクのマウント タイプを変更することはできません。そのため、先ほど投稿した前のコードが適切な答えです。

ありがとう。

于 2013-09-12T22:53:15.253 に答える