자바로 FTP 등을 구현할 수 있게 해주는 라이브러리인 commons-net를 아이스크림 센드위치에서 사용하고 싶은데,

 

아래 밑줄친 connect 단계에서 꼭 애러가 발생하는 군요.

 

package kr.priv.android_ftp2;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.SocketException;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  FTPClient mFtp = new FTPClient();
  try {
   Log.d("TAG","1");
   mFtp.connect("호스트 주소", 21);
   Log.d("TAG","2");
   mFtp.login("로그인아이디", "암호");
   Log.d("TAG","3");
   mFtp.setFileType(FTP.BINARY_FILE_TYPE);
   Log.d("TAG","4");
   mFtp.enterLocalPassiveMode();
   Log.d("TAG","5");
   String remote = "/folder1/folder2/file_name.ext";
   File downloadfile = new File("/sdcard/download/file_name.ext");
   FileOutputStream local = new FileOutputStream(downloadfile);
   boolean aRtn = mFtp.retrieveFile(remote, local);// return true if
               // successful
   local.close();

   mFtp.disconnect();
  } catch (SocketException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } // Using port no=21

 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.activity_main, menu);
  return true;
 }

}

AndroidManifest.xml

 

   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
    </uses-permission>
    <uses-permission android:name="android.permission.INTERNET" >
    </uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
    </uses-permission>

 

 

겔럭시S1인 진저브레드에서는 아무 이상이 없었습니다.

겔럭시S3와 AVD 4.0.3 에서는 꼭  Log.d("TAG","1");까지만 나오고 튕기네요..

새로운 퍼미션이라도 생긴건가요.. 혹시 해결하신 분 댓글 부탁드립니다.