这是我的build.gradle文件
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
allprojects {
repositories {
mavenCentral()
}
}
dependencies {
repositories {
mavenCentral()
}
// Google Play Services
compile 'com.google.android.gms:play-services:3.2.25'
// Support Libraries
compile 'com.android.support:support-v4:18.0.0'
compile 'com.android.support:gridlayout-v7:18.0.0'
compile 'com.android.support:support-v13:18.0.0'
// Note: these libraries require the "Google Repository" and "Android Repository"
// to be installed via the SDK manager.
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile 'com.nineoldandroids:library:2.4.0'
compile 'org.apache.httpcomponents:httpmime:4.3'
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 9
targetSdkVersion 18
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
项目构建成功,没有错误没有警告。
:preBuild UP-TO-DATE
:preDebugBuild UP-TO-DATE
:preReleaseBuild UP-TO-DATE
:prepareComActionbarsherlockActionbarsherlock440Library UP-TO-DATE
:prepareComAndroidSupportGridlayoutV71800Library UP-TO-DATE
:prepareComGoogleAndroidGmsPlayServices3225Library UP-TO-DATE
:prepareDebugDependencies
:compileDebugAidl UP-TO-DATE
:compileDebugRenderscript UP-TO-DATE
:generateDebugBuildConfig UP-TO-DATE
:mergeDebugAssets UP-TO-DATE
:mergeDebugResources UP-TO-DATE
:processDebugManifest UP-TO-DATE
:processDebugResources UP-TO-DATE
:generateDebugSources UP-TO-DATE
:nativeLibsToJar UP-TO-DATE
:compileDebug UP-TO-DATE
:dexDebug UP-TO-DATE
:processDebugJavaRes UP-TO-DATE
:validateDebugSigning
:packageDebug UP-TO-DATE
:assembleDebug UP-TO-DATE
:prepareReleaseDependencies
:compileReleaseAidl
:compileReleaseRenderscript
:generateReleaseBuildConfig UP-TO-DATE
:mergeReleaseAssets UP-TO-DATE
:mergeReleaseResources UP-TO-DATE
:processReleaseManifest UP-TO-DATE
:processReleaseResources UP-TO-DATE
:generateReleaseSources
:compileRelease
:dexRelease
:processReleaseJavaRes UP-TO-DATE
:packageRelease
:assembleRelease
:assemble
:check UP-TO-DATE
:build
BUILD SUCCESSFUL
Total time: 39.311 secs
但是当我在模拟器或USB设备上运行项目时,我收到错误NoClassDefFoundError: org.apache.http.entity.mime.MultipartEntityBuilder
此问题仅出现在org.apache.httpcomponents:httpmime:4.3与其他库如com.actionbarsherlock:actionbarsherlock:4.4.0 @aar没问题
答案 0 :(得分:3)
Google在Android SDK(v18)中有原生的httpcore包,此包是httpcore:4.2.x
。为了使org.apache.httpcomponents:httpmime
正常工作,它必须与原生httpcore
版本相同,即org.apache.httpcomponents:httpmime:4.2.1
我将httpclient-4.2.1.jar httpmime-4.2.1.jar
个libs下载到<project>/libs
文件夹。
在制作项目之前删除build
文件夹
这个配置解决了httpmime的所有问题:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
allprojects {
repositories {
mavenCentral()
}
}
dependencies {
repositories {
mavenCentral()
}
// Google Play Services
compile 'com.google.android.gms:play-services:3.2.25'
// Support Libraries
compile 'com.android.support:support-v4:18.0.0'
compile 'com.android.support:gridlayout-v7:18.0.0'
compile 'com.android.support:support-v13:18.0.0'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile fileTree(dir: "libs", include: '*.jar')
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 9
targetSdkVersion 18
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
debug.setRoot('debug')
}
}