Android 支持库和编译器版本不匹配

Android 支持库和编译器版本不匹配,android,sdk,build.gradle,android-glide,Android,Sdk,Build.gradle,Android Glide,我正在构建一个应用程序,并使用我的旧HTC Desire S调试和测试该应用程序。这款手机上运行的是Android 2.3.5版,我的应用程序的最小SDK设置为10 此外,由于这些很棒的规格,我的手机在ImageView中导入JPEG(位图)时遇到问题(可能是因为JPEG的大小),并且在处理某些文件时崩溃 public void showImage() { String filePath = contentDirectory + "/" + filesInFolde

我正在构建一个应用程序,并使用我的旧HTC Desire S调试和测试该应用程序。这款手机上运行的是Android 2.3.5版,我的应用程序的最小SDK设置为10

此外,由于这些很棒的规格,我的手机在ImageView中导入JPEG(位图)时遇到问题(可能是因为JPEG的大小),并且在处理某些文件时崩溃

   public void showImage() {
            String filePath = contentDirectory + "/" + filesInFolder[image_index];
            ImageView imgView = (ImageView) findViewById(R.id.myimage);
            Bitmap bitmap = BitmapFactory.decodeFile(filePath);
            ImageView imgView = (ImageView) findViewById(R.id.myimage);
            imgView.setImageBitmap(bitmap);
        }
在四处搜索之后,我想我应该使用Glide来解决我的问题

按照Glide GitHub页面上的说明,我在build.gradle中插入以下内容:

dependencies {
   compile 'com.github.bumptech.glide:glide:4.0.0-RC1'
   compile 'com.android.support:support-v4:25.3.1'
   annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC1'
}
并将图像显示为:

public void showImage() {
        String filePath = contentDirectory + "/" + filesInFolder[image_index];
        ImageView imgView = (ImageView) findViewById(R.id.myimage);
        Glide.with(this).load(filePath).into(imgView);
}
当运行我的应用程序时,它崩溃了。因此,我将
编译'com.android.support:support-v4:25.3.1'
更改为
编译'com.android.support:support-v4:10.3.1'
(版本25到10)

我现在得到了错误

此支持库不应使用与 编译版本(25)

因此,我将compileSdkVersion设置为10:

android {
    compileSdkVersion 10
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.example.XXX.myapplication"
        minSdkVersion 10
        targetSdkVersion 10
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
        }
    }
}
在同步gradle文件之后,我得到了很多错误,它们都位于

C:…\MyApplication\app\build\intermediates\res\merged\debug\

如果有必要,我可以将它们全部发布(有很多),但我认为这里的主要问题是我得到了错误:

无法解析符号“R”

是否有人可以提供解决方案或为我指出正确的方向

生产线处的碰撞泵:

使用(this.load)(filePath.into)(imgView)滑动


我之所以使用Glide,首先是因为位图和ImageView的内存问题。不幸的是,我和上面帮助过的成员未能解决上述有关滑翔坠毁的问题


相反,我回到了我的第一个问题,那就是内存问题,通过在显示新位图时在我的代码中包含
bitmap.recycle()
,解决了这个问题。

那么为什么要将版本25更改为10?因为我假设我的应用程序在启动时崩溃,因为它无法处理版本25,因为它运行在android 2.3.5的delete/app/build文件夹上,然后再次尝试重建该项目,看看它是否工作顺便问一下,为什么你要更改support lib版本?据我所知,它完全不相关,发布您的崩溃日志可能是我们可以解决它们的原因。@daan166但这可能是您始终希望以最新版本的android为目标的情况。在执行所有其他操作之前,您应该先发布原始错误。首先,恢复构建工具版本,并像以前一样将sdk版本编译为25。同步后,发布显示的错误。
01-06 04:05:13.929 21324-21324/com.example.XXX.myapplication I/dalvikvm: Failed resolving Lcom/bumptech/glide/Glide; interface 59 'Landroid/content/ComponentCallbacks2;'
01-06 04:05:13.929 21324-21324/com.example.XXX.myapplication W/dalvikvm: Link of class 'Lcom/bumptech/glide/Glide;' failed
01-06 04:05:13.929 21324-21324/com.example.XXX.myapplication I/dalvikvm: Could not find method com.bumptech.glide.Glide.with, referenced from method com.imageviewexample.ImageViewExample.showImage
01-06 04:05:13.929 21324-21324/com.example.XXX.myapplication W/dalvikvm: VFY: unable to resolve static method 17289: Lcom/bumptech/glide/Glide;.with (Landroid/app/Activity;)Lcom/bumptech/glide/RequestManager;
01-06 04:05:13.929 21324-21324/com.example.XXX.myapplication D/dalvikvm: VFY: replacing opcode 0x71 at 0x0028
01-06 04:05:13.929 21324-21324/com.example.XXX.myapplication D/dalvikvm: VFY: dead code 0x002b-0033 in Lcom/imageviewexample/ImageViewExample;.showImage ()V
01-06 04:05:13.959 21324-21324/com.example.XXX.myapplication D/AndroidRuntime: Shutting down VM
01-06 04:05:13.959 21324-21324/com.example.XXX.myapplication W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
01-06 04:05:13.969 21324-21324/com.example.XXX.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                       java.lang.NoClassDefFoundError: com.bumptech.glide.Glide
                                                                                           at com.imageviewexample.ImageViewExample.showImage(ImageViewExample.java:78)
                                                                                           at com.imageviewexample.ImageViewExample.onCreate(ImageViewExample.java:53)
                                                                                           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
                                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836)
                                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
                                                                                           at android.app.ActivityThread.access$1500(ActivityThread.java:135)
                                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
                                                                                           at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                           at android.os.Looper.loop(Looper.java:150)
                                                                                           at android.app.ActivityThread.main(ActivityThread.java:4385)
                                                                                           at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                           at java.lang.reflect.Method.invoke(Method.java:507)
                                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
                                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
                                                                                           at dalvik.system.NativeStart.main(Native Method)