簡體   English   中英

支持庫和compileSdkVersion版本不匹配

[英]Support library and compileSdkVersion version mismatch

我正在構建應用程序,並且正在使用舊的HTC Desire S調試和測試該應用程序。 這部手機運行的是Android 2.3.5版,我的應用程序的最低SDK設置為10。

另外,由於這些出色的規格,我的手機在ImageView中將JPEG作為位圖導入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);
}

運行我的應用程序時,它崩潰。 因此,我將compile 'com.android.support:support-v4:25.3.1'更改為compile 'com.android.support:support-v4:10.3.1' (版本25至10)。

我現在得到了錯誤

該支持庫不應使用與compileSdkVersion(25)不同的版本(10)。

因此,我將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的\\程序\\建立\\中間體\\水庫\\合並\\調試\\

如有必要,我可以將它們全部張貼(有很多),但是我認為這里的主要問題是我得到了錯誤:

無法解析符號“ R”

有誰能提供解決方案或為我指明正確的方向?

行的故障轉儲:

Glide.with(本).load(文件路徑).into(imgView);

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)

首先使用Glide的原因是位圖和ImageView的內存問題。 不幸的是,我和上面的幫助成員無法解決如上所述的有關Glide崩潰的問題。

與其說是第一個問題,不如說是內存問題, bitmap.recycle()通過在顯示新位圖時在代碼中包含bitmap.recycle()來解決該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM