OkHttp上传图像应用程序:DexBug
我是安德里奥德的初学者。我正在使用OkHttp通过post方法上传图像。 因此,我将okio-1.6.0JAR文件添加到我的libs文件夹中,下面是我在运行应用程序时不断得到的代码:DexBug。我尝试右键单击jar并将其添加到库中,并确保编译文件('libs/okio-1.6.0.jar')在我的gradle中OkHttp上传图像应用程序:DexBug,okhttp,Okhttp,我是安德里奥德的初学者。我正在使用OkHttp通过post方法上传图像。 因此,我将okio-1.6.0JAR文件添加到我的libs文件夹中,下面是我在运行应用程序时不断得到的代码:DexBug。我尝试右键单击jar并将其添加到库中,并确保编译文件('libs/okio-1.6.0.jar')在我的gradle中 OkHttpClient client = new OkHttpClient(); MultipartBuilder builder = new MultipartBu
OkHttpClient client = new OkHttpClient();
MultipartBuilder builder = new MultipartBuilder().type(MultipartBuilder.FORM);
builder.addFormDataPart("upload", null, RequestBody.create(MEDIA_TYPE_JPG, new File("/storage/emulated/0/DCIM/Camera/20150223-130123.jpg")));
RequestBody requestBody = builder.build();
Request request = new Request.Builder()
.url(Url3)
.post(requestBody)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
System.out.println("request = " + request.urlString());
System.out.println("e.getLocalizedMessage() = " + e.getLocalizedMessage());
}
@Override
public void onResponse(Response response) throws IOException {
System.out.println("response = " + response.body().string());
}
});
Gradle File
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.example.binyiliu.funfacts"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
//mutiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'com.squareup.okio:okio:1.5.0'
compile 'com.squareup.okhttp:mockwebserver:2.4.0'
compile files('libs/okio-1.6.0.jar')
}
这件事我已经坚持了好几天了。
提前谢谢
这是日志
:app:dexDebug
意外的顶级异常:
com.android.dex.DexException:多个dex文件定义Lokio/Sink;
在com.android.dx.merge.dexmmerge.readSortableTypes上(dexmmerge.java:596)
在com.android.dx.merge.dexmerge.getSortedTypes上(dexmerge.java:554)
位于com.android.dx.merge.dexmerge.mergeClassDefs(dexmerge.java:535)
位于com.android.dx.merge.dexmerge.mergeDexes(dexmerge.java:171)
位于com.android.dx.merge.dexmmerge.merge(dexmmerge.java:189)
位于com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
位于com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
位于com.android.dx.command.dexer.Main.run(Main.java:277)
位于com.android.dx.command.dexer.Main.Main(Main.java:245)
位于com.android.dx.command.Main.Main(Main.java:106)
错误:任务“:app:dexDebug”的执行失败
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:process'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/Java''以非零退出值2结束
信息:生成失败
信息:总时间:1.372秒
信息:1个错误
信息:0个警告
信息:请参阅控制台中的完整输出
您定义了两次依赖项库:使用.jar,但也为Okio使用Gradle依赖项 删除其中一个 编译文件('libs/okio-1.6.0.jar') (还有磁盘上的.jar,您不需要它) 或者,删除渐变依赖项: 编译'com.squareup.okio:okio:1.5.0'
请提供一个日志文件