プロが教える店舗&オフィスのセキュリティ対策術

アンドロイドアプリ、というかJAVA初心者です。
アンドロイドアプリからシェルコマンドを実行したいのですが、うまくできません。他サイトを参考に以下のように作ってみたのですがどこが悪いのでしょうか?
このアプリを実行してもchmodできません。
ちなみにadb shellでは同様のコマンドでちゃんとchmod できます。

よろしくお願いします。

package com.android.test;

import java.io.DataOutputStream; import java.io.IOException;

import android.app.activity; import android.os.Bundle; import android.widget.TextView;

public class ShelltestActivity extends Activity { /** Called when the activity is first created. */@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

TextView tv = new TextView(this); tv.setText("Hello, World"); setContentView(tv);

try { Process p = Runtime.getRuntime().exec("su");

DataOutputStream dos = new DataOutputStream(p.getOutputStream());

dos.writeBytes("chmod 777 /data/app/*\n");

dos.flush();

} catch (IOException e) {

e.printStackTrace(); } } }

A 回答 (2件)

Java の例外はここに質問してもいいけど、


Linuxコマンド側の実行失敗は別の場所なきがする。

プロセスから InputStream なり ErrorStream なり取得して情報取得すべし。
    • good
    • 0

そもそもroot取ってない端末でシステム領域いじれたっけ?

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
エミュレータでの話で、アプリ自体に全権限つけてます。
/dataはw権限ありです。

お礼日時:2011/11/01 23:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!