(If you want try the APK only, scroll down to the bottom.)
package com.example.androidrunlinuxcmd;
import java.io.IOException;
import java.io.InputStream;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
public class MainActivity extends ActionBarActivity {
EditText cmdBox;
Button btnRun;
TextView textResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cmdBox = (EditText)findViewById(R.id.cmdbox);
btnRun = (Button)findViewById(R.id.run);
textResult = (TextView)findViewById(R.id.result);
textResult.setTypeface(Typeface.MONOSPACE);
btnRun.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//Split String from EditText to String Array
String[] cmd = cmdBox.getText().toString().split("\\s+");
try {
String cmdResult = runLinuxCmd(cmd);
textResult.setTextColor(Color.WHITE);
textResult.setText(cmdResult);
} catch (IOException e) {
e.printStackTrace();
textResult.setTextColor(Color.RED);
textResult.setText("Something Wrong!\n"
+ e.getMessage());
}
}});
}
//Run a Linux command and return result
private String runLinuxCmd(String[] command) throws IOException {
StringBuilder cmdReturn = new StringBuilder();
ProcessBuilder processBuilder = new ProcessBuilder(command);
Process process = processBuilder.start();
InputStream inputStream = process.getInputStream();
int c;
while ((c = inputStream.read()) != -1) {
cmdReturn.append((char) c);
}
return cmdReturn.toString();
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.example.androidrunlinuxcmd.MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:autoLink="web"
android:text="http://android-er.blogspot.com/"
android:textStyle="bold" />
<EditText
android:id="@+id/cmdbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
<Button
android:id="@+id/run"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Run Linux Command" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#A0A0A0" >
<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp" />
</ScrollView>
</LinearLayout>
Download the files.
Download and Try the APK.