我正在添加该库但无法运行我的代码
dependencies {
compile 'com.google.http-client:google-http-client-gson:1.20.0'
compile 'com.google.code.gson:gson:2.3'
compile files('libs/google-api-client-1.14.1-beta.jar')
compile files('libs/google-api-client-android-1.14.1-beta.jar')
compile files('libs/google-api-services-drive-v2-rev70-1.14.1-beta.jar')
compile files('libs/google-http-client-1.14.1-beta.jar')
compile files('libs/google-http-client-android-1.14.1-beta.jar')
compile files('libs/google-oauth-client-1.14.1-beta.jar')
compile files('libs/google-play-services.jar')
compile files('libs/jsr305-1.3.9.jar')
}
答案 0 :(得分:2)
相同类型(旧版本) compile
库会导致此问题。
Android SDK Build Tools 21.1及更高版本中提供的Gradle Android插件支持multidex作为构建配置的一部分。在尝试为多索引配置应用程序之前,请确保使用SDK Manager将Android SDK构建工具工具和Android支持存储库更新到最新版本。
设置应用开发项目以使用multidex配置需要您对应用开发项目进行一些修改。特别是您需要执行以下步骤:
修改您的应用Gradle构建文件配置以包含支持库并启用multidex输出。
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
我的建议
使用
compile 'com.google.android.gms:play-services:8.3.0'
避免
compile files('libs/google-play-services.jar')
我猜问题就在这里
compile files('libs/google-api-client-1.14.1-beta.jar')
compile files('libs/google-api-client-android-1.14.1-beta.jar')
编辑后
apply plugin: 'android'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.example.android.notepad"
minSdkVersion 16
targetSdkVersion 19
// Enabling multidex support.
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.google.http-client:google-http-client-gson:1.20.0'
/* compile 'com.google.code.gson:gson:2.3'*/
compile files('libs/google-api-client-1.14.1-beta.jar')
compile files('libs/google-api-client-android-1.14.1-beta.jar')
compile files('libs/google-api-services-drive-v2-rev70-1.14.1-beta.jar')
/*compile files('libs/google-http-client-1.14.1-beta.jar')*/
compile files('libs/google-http-client-android-1.14.1-beta.jar')
compile files('libs/google-oauth-client-1.14.1-beta.jar')
/* compile files('libs/google-play-services.jar')*/
compile 'com.google.android.gms:play-services:5.0.89'
compile files('libs/jsr305-1.3.9.jar')
compile 'com.android.support:multidex:1.0.0'
}
答案 1 :(得分:0)
这个错误在旧版本中很常见...... 使用此代码gradle
defaultConfig {
applicationId "your package name"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
//Enabling mutidex
multiDexEnabled true
}
启用multidex后依赖使用此库
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'com.android.support:support-v4:23.0.1'
compile 'com.android.support:multidex:1.0.1'
}
我觉得它很完美..