2016-08-29 10 views
0

私はこのAsyncTaskを使用してサーバをftpに画像をアップロードしようとしている:java.lang.NoClassDefFoundErrorが:org.apache.commons.net.ftp.FTPClient

import android.content.Context; 
import android.os.AsyncTask; 
import org.apache.commons.net.ftp.FTP; 
import org.apache.commons.net.ftp.FTPClient; 
import org.apache.commons.net.ftp.FTPReply; 
import java.io.FileInputStream; 

public class my_ftp_uploader extends AsyncTask<String, Void, String> { 

public String file_name; 
private Context context; 
public FTPClient mFTPClient = null; 

public my_ftp_uploader(Context context) { 
    this.context = context; 
} 

protected void onPreExecute() { 

} 

@Override 
protected String doInBackground(String... arg0) { 
    String filesToUploadPath = arg0[0]; 
    file_name = arg0[1]; 

    try { 
     mFTPClient = new FTPClient(); 
     mFTPClient.connect("my_domain", 21); 

     if (FTPReply.isPositiveCompletion(mFTPClient.getReplyCode())) { 
      boolean status = mFTPClient.login("My_Domain", "My_password"); 

      mFTPClient.setFileType(FTP.BINARY_FILE_TYPE); 
      mFTPClient.enterLocalPassiveMode(); 
      try { 
       FileInputStream srcFileStream = new FileInputStream(filesToUploadPath); 

       try { 
        mFTPClient.changeWorkingDirectory("myServer_path"); 
        status = mFTPClient.storeFile(file_name + ".jpg", srcFileStream); 
        try { 
         mFTPClient.logout(); 
         mFTPClient.disconnect(); 
        } catch (Exception e) { 
        } 
       } catch(Exception e) { 
       } 

       srcFileStream.close(); 
      } catch (Exception e) { 
      } 

     } 
    } catch(Exception e) { 

    } 

    return "done"; 
} 

@Override 
protected void onPostExecute(String result) { 

} 

} 

しかし、私は、トピックエラーが発生します。

apply plugin: 'com.android.application' 

android { 

configurations.all { 
    resolutionStrategy { 
     force 'com.android.support:support-v4:23.+' 
     force 'com.android.support:appcompat-v7:23.+' 
     force 'com.android.support:recyclerview-v7:23.+' 
    } 
} 
compileSdkVersion 23 
buildToolsVersion "23.0.2" 

defaultConfig { 
    applicationId "my_app_id" 
    minSdkVersion 15 
    targetSdkVersion 15 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:design:23.1.1' 
compile 'com.android.support:support-v4:23.1.1' 
compile 'com.nononsenseapps:filepicker:3.0.0' 
compile 'com.google.android.gms:play-services:8.4.0' 
compile 'com.squareup.okhttp3:okhttp:3.4.1' 
compile 'com.daimajia.swipelayout:library:[email protected]' 
compile 'net.gotev:uploadservice:3.0' 
compile 'com.jakewharton:butterknife:7.0.1' 
compile 'net.gotev:uploadservice-ftp:3.0' 
compile 'com.github.bumptech.glide:glide:3.7.0' 
} 

repositories { 
jcenter() 
} 

論理ポイントエラーの原因として、この下の行::ここに私のGradleである

mFTPClient = new FTPClient(); 

P.Sは、このAsyncTaskは前にうまくいきました。しかし、突然このエラーを伝える作業を停止します。私は何か他のものと矛盾する何かをしたと思います! 問題は、私がこの部分を終えてから、私のアプリで多くのことをして、どの人がそれを引き起こすのかわからないということです! 私は似たような話題をしましたが、助けにはなりませんでした。 ヒントがあります。 「コモンズ:Apacheのコモンズを作るために

+0

に含ま「ネット」、名前:「コモンズネット」、バージョン:「2.0」?あなたのプロジェクトに含まれているApacheのコモンズを作成するには – Yazan

+1

@ Yazan Wow ..それです。あなたは私の一日を救った。それを答えさせてください。 –

答えて

0

私はビルドファイルにこれを欠けていると思う

compile group: 'commons-net', name: 'commons-net', version: '2.0'

は、私はあなたがあなたのビルドファイル `グループをコンパイルでこれを欠けていると思うプロジェクト

関連する問題