相关疑难解决方法(0)

Gradle中的实现和编译之间有什么区别?

在更新到Android Studio 3.0并创建一个新项目后,我注意到build.gradle有一种新方法可以添加新的依赖项,而不是compile存在implementation而不是testCompile存在testImplementation.

例:

 implementation 'com.android.support:appcompat-v7:25.0.0'
 testImplementation 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)

代替

 compile 'com.android.support:appcompat-v7:25.0.0'
 testCompile 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别,我应该使用什么?

dependency-management gradle transitive-dependency build.gradle gradle-plugin

899
推荐指数
10
解决办法
27万
查看次数

无法合并dex

我有Android Studio Beta.我创建了一个新项目,编译我的旧模块,但是当我尝试启动应用程序时,它没有启动消息:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
Run Code Online (Sandbox Code Playgroud)

com.android.builder.dexing.DexArchiveMergerException:无法合并dex

但我不知道如何解决这个错误.我用谷歌搜索了几个小时但没有成功.

我的项目是:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta6'
        classpath "io.realm:realm-gradle-plugin:3.7.1"
        classpath 'com.google.gms:google-services:3.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序gradle:

    apply plugin: 'com.android.application'

android …
Run Code Online (Sandbox Code Playgroud)

android dex android-studio-3.0

296
推荐指数
16
解决办法
35万
查看次数

如何在Android Studio中显示依赖关系树?

我的目标是在特定项目中查看依赖树(例如:appcompat,dagger等).

像一个IntelliJ:

在此输入图像描述

android intellij-idea gradle android-studio android-gradle-plugin

71
推荐指数
8
解决办法
6万
查看次数

所有com.android.support库必须使用完全相同的版本

当我今天将我的android工作室从版本2.2.3更新到2.3时,突然在我的build.gradle中在依赖项的第一个编译行中出现此错误

(无论哪个依赖都会出现在第一位,但它总会给我这个错误):

所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃).找到的版本25.2.0,24.0.0.示例包括com.android.support:animated-vector-drawable:25.2.0和com.android.support:mediarouter-v7:24.0.0

我查看了我的整个项目,我找不到任何版本的24.0.0(我用ctrl + shift + F来查找整个项目)

这是我的build.gradle:

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 25
        versionName "1.0"
        versionCode 1
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
        debug {
            minifyEnabled true
            shrinkResources true
        }
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.squareup:otto:1.3.8'
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    compile 'com.android.support:multidex:1.0.1'
}
Run Code Online (Sandbox Code Playgroud)

android gradle

69
推荐指数
6
解决办法
5万
查看次数

java.lang.NoClassDefFoundError:解析失败:Landroid/support/v4/os/BuildCompat

我在Eclipse安装中将AppCompat库更新为24.2.1,将SDK更新到Android 7.从那以后,我无法运行任何应用程序.如果你能帮助我,我感激不尽......

E/AndroidRuntime(17555): java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/os/BuildCompat;
E/AndroidRuntime(17555):    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:196)
E/AndroidRuntime(17555):    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:181)
E/AndroidRuntime(17555):    at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:521)
E/AndroidRuntime(17555):    at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
E/AndroidRuntime(17555):    at com.ryosoftware.calendareventsnotifier.MainActivity.onCreate(MainActivity.java:844)
E/AndroidRuntime(17555):    at android.app.Activity.performCreate(Activity.java:5990)
E/AndroidRuntime(17555):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
E/AndroidRuntime(17555):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2311)
E/AndroidRuntime(17555):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2420)
E/AndroidRuntime(17555):    at android.app.ActivityThread.access$900(ActivityThread.java:154)
E/AndroidRuntime(17555):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
E/AndroidRuntime(17555):    at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(17555):    at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(17555):    at android.app.ActivityThread.main(ActivityThread.java:5294)
E/AndroidRuntime(17555):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(17555):    at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(17555):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/AndroidRuntime(17555):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
E/AndroidRuntime(17555): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.os.BuildCompat" on path: DexPathList[[zip file "/data/app/com.ryosoftware.calendareventsnotifier-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
E/AndroidRuntime(17555):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat

30
推荐指数
3
解决办法
6万
查看次数

appcompat-v7:28.0.0-rc02不适用于设计:28.0.0-rc01(应该是rc02,但我们不能)

com.android.support:appcompat-v7:28.0.0-rc02

com.android.support:design:28.0.0-rc01 - >应该是rc02,但实际上没有rc02.

错误:

app/build.gradle:74: Error: All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes).
Found versions 28.0.0-rc02, 28.0.0-rc01. Examples include com.android.support:animated-vector-drawable:28.0.0-rc02 and com.android.support:cardview-v7:28.0.0-rc01 [GradleCompatible]
Run Code Online (Sandbox Code Playgroud)

我知道这是一个警告,我们已经转向警告CI中的错误,以避免潜在的死亡崩溃,以及任何解决方案,除了关闭CI的选项?

问题

android android-support-library android-gradle-plugin android-support-design

16
推荐指数
2
解决办法
9694
查看次数

添加Facebook Android SDK依赖项后,我收到此错误

对不起这个愚蠢的问题.
我是Android新手..

添加Android Facebook SDK依赖项后

compile 'com.facebook.android:facebook-android-sdk:4.21.0'
Run Code Online (Sandbox Code Playgroud)

我收到了错误

compile 'com.android.support:appcompat-v7:25.3.1'
Run Code Online (Sandbox Code Playgroud)

但项目运行良好.

在此输入图像描述

所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃).找到版本25.3.1,25.0.0.示例包括com.android.support:animated-vector-drawable:25.3.1和com.android.support:cardview-v7:25.0.0 less ...(Ctrl + F1)

有些库或工具和库的组合不兼容,或者可能导致错误.一个这样的不兼容性是使用不是最新版本的Android支持库版本(或者特别是低于targetSdkVersion的版本)进行编译.

的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    repositories {
        mavenCentral()
    }

    defaultConfig {
        applicationId "sujeet.raj.com"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'

    testCompile 'junit:junit:4.12'

    compile 'com.facebook.android:facebook-android-sdk:4.21.0'
}
Run Code Online (Sandbox Code Playgroud)

sdk dependencies android build.gradle facebook-sdk-4.0

10
推荐指数
2
解决办法
3191
查看次数

Android Studio 2.3:库必须使用完全相同的精确规范

更新到android studio 2.3 gradle后警告我这样,我无法将我的应用程序安装到模拟器.

库必须使用完全相同的确切规范

[库必须使用完全相同的确切规范]

ide android android-library android-gradle-plugin android-studio-2.3

8
推荐指数
0
解决办法
1247
查看次数

React Native:找不到support-vector-drawable.aar

我运行react-native 0.57.1​​应用程序,然后我得到以下行.

FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
/> Could not find support-vector-drawable.aar (com.android.support:support-vector-drawable:27.1.1).
  Searched in the following locations:
      https://jcenter.bintray.com/com/android/support/support-vector-drawable/27.1.1/support-vector-drawable-27.1.1.aar
/> Could not find livedata-core.aar (android.arch.lifecycle:livedata-core:1.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/android/arch/lifecycle/livedata-core/1.1.0/livedata-core-1.1.0.aar
/> Could not find viewmodel.aar (android.arch.lifecycle:viewmodel:1.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/android/arch/lifecycle/viewmodel/1.1.0/viewmodel-1.1.0.aar
/> Could not find runtime.aar (android.arch.core:runtime:1.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/android/arch/core/runtime/1.1.0/runtime-1.1.0.aar
Run Code Online (Sandbox Code Playgroud)

有什么建议?Thx提前

android react-native

8
推荐指数
1
解决办法
2193
查看次数

更新PlayServer和Firebase的新版本10.2.0时出现问题

我使用Android Studio开发了一个Android应用程序,今天我收到的消息是有一个新版本的Google Play服务和Firebase.

从10.0.1到10.2.0.

我正在使用Google Play服务分析和广告.

我已经选择了API min 9而现在我认为广告无法在API <14中显示.

我的build.gradle文件:

 apply plugin: 'com.android.application'

android {

    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "com.ilyo.x1application"
        minSdkVersion 9
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.1'
    compile 'com.google.firebase:firebase-ads:10.2.0'
    compile 'com.google.firebase:firebase-core:10.2.0'
    compile 'com.google.android.gms:play-services-ads:10.2.0'
    testCompile 'junit:junit:4.12'
}

apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

错误信息

错误:任务':app:processDebugManifest'的执行失败.清单合并失败:uses-sdk:minSdkVersion 9不能小于库中声明的版本14 [com.google.firebase:firebase-ads:10.2.0] …

android admob firebase google-play-services

7
推荐指数
2
解决办法
2万
查看次数