문제는 이 클래스를 생성시키고 log를 출력하고자 하는데 ...
쓰레드가 돌다가 죽어버립니다....
제가 잘못한 부분이 있는지 확인 부탁 드릴께요 ....
import java.io.IOException;
import com.android.ddmlib.AndroidDebugBridge.IDeviceChangeListener;
import com.android.ddmlib.AndroidDebugBridge;
import com.android.ddmlib.IDevice;
import com.android.ddmlib.MultiLineReceiver;
public class LogcatTest
{
IDevice mDevice;
logThread log_tread;
LogCatOuputReceiver lco;
AndroidDebugBridge mADB;
public LogcatTest()
{
log_tread = new logThread("logcat -v long");
lco = new LogCatOuputReceiver();
System.out.println("0000");
mADB = AndroidDebugBridge.createBridge();
System.out.println("1111");
AndroidDebugBridge.init(true);
System.out.println("2222");
AndroidDebugBridge.addDeviceChangeListener( ( IDeviceChangeListener ) new LongcatListener() );
System.out.println("3333");
}
final class logThread extends Thread
{
private String cmd;
public logThread(String str)
{
cmd = str;
}
public void run()
{
System.out.println("run :: " + mDevice);
try {
if(mDevice != null)
mDevice.executeShellCommand(cmd, lco);
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
class LongcatListener implements IDeviceChangeListener
{
public void deviceConnected(IDevice device) {
mDevice = device;
System.out.println("deviceConnected :: " + mDevice);
log_tread.start();
}
public void deviceDisconnected(IDevice device) {
mDevice = device;
System.out.println("deviceDisconnected :: " + mDevice);
}
public void deviceChanged(IDevice device, int changeMask) {
mDevice = device;
System.out.println("deviceChanged :: " + mDevice);
}
}
class LogCatOuputReceiver extends MultiLineReceiver
{
public LogCatOuputReceiver() {
super();
}
public void processNewLines(String[] lines) {
for (String line : lines)
{
System.out.println(line);
}
}
public boolean isCancelled() {
return false;
}
}
}