I am trying to access files on an FTP server in Android.
For some reason whenever I import any external jar such as commons-net or ftp4j my app crashes on run. I have verified this by commenting out all lines that refer to the jars and the app runs properly.
I want to access data in a text file on an FTP server and print it out to a TextView. I have been stuck on this all day. How do I fix this? Permissions including in manifest are internet and external storage.
package com.testing.pack;
import java.io.BufferedInputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.http.client.HttpClient;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
public class TestingActivity extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    TextView tv;
    Button go;
    HttpClient client;
    FTPClient ftp;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.main);
        tv = (TextView) findViewById(R.id.tvTry);
        Typeface face = Typeface.createFromAsset(getAssets(),
                "Roboto-LightItalic.ttf");
        tv.setTypeface(face);
        go = (Button) findViewById(R.id.bGO);
        go.setOnClickListener(this);
        try {
                        //Attempt using commons-net
            FTPClient ftpClient = new FTPClient();
            ftpClient.connect("ftp://........./");
            ftpClient.login(".......", ".....");
            ftpClient.changeWorkingDirectory("......");
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
            BufferedInputStream buffIn=null;
            buffIn=new BufferedInputStream(new FileInputStream(file));
            ftpClient.enterLocalPassiveMode();
            ftpClient.storeFile("test.txt", buffIn);
            buffIn.close();
            ftpClient.logout();
            ftpClient.disconnect();
                        //Attempt using ftp4j
                        //FTPClient ftp = new FTPClient();
            //ftp.connect("........");
            //ftp.login(".......", ".....");
            //ftp.changeDirectoryUp();
            //ftp.changeDirectory(".....");
            //ftp.changeDirectory("public_ftp");
            //ftp.download("test.txt", new java.io.File("....."));
        } catch (Exception e) {
        }
    }
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        getData ex = new getData();
        try {
            tv.setText(ex.getInternetData());
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
 
     
    