2016-11-13 41 views
0

我正在使用一些动画(我认为PathMeasure()导致问题,在我的代码中没有其他不寻常的东西)。如何更改AndroidStudio中的支持库?

当我在android 5.0 +中测试我的应用程序时,没有问题并且运行良好。 但是,当涉及到Android 4.4.4,屏幕上没有任何东西。 它没有崩溃,但在logcat的一个错误:

Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering 

我发现了这样的建议:

...任何版本<支持库21中的方法不执行任何...不在旧版本上崩溃,而不是实际提供该功能。 使用支持库22.1,您可以使用。

如何使用支持库22.1? 我目前的设置有什么问题?

我的build.gradle文件:

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.2" 
    defaultConfig { 
     applicationId "com.example.asd.anim" 
     minSdkVersion 18 
     targetSdkVersion 24 
    ... 
} 

depencencies { 
    ... 
    compile 'com.android.support:appcompat-v7:24.2.1' 
} 
+0

你利用的'在你的代码的任何地方RippleDrawable'?它直到API 21才被添加,所以自然不适用于较旧的API版本。 – clownba0t

+0

我没有直接使用'RippleDrawable',而是'PathMeasure'以某种方式使用它(或类似的东西):D 但是禁用硬件加速解决了这个问题。 – thatsmyname

回答

1

如何使用支持库22.1?

更改依赖关系: compile 'com.android.support:appcompat-v7:22.1.0'

你还需要改变targetSdkVersioncompileSdkVersion至22,因此,任何其他支持库必须改变,以22.*.*版本

你可以找到支持库的修改历史记录在这里:https://developer.android.com/topic/libraries/support-library/revisions.html

+0

尽管这当然是对OP的问题的直接回答,但它没有解决OP正在经历的问题的根本原因,也不是一般的特别好的建议。降级支持库是最后的手段,特别是在这种情况下,版本会发生显着变化(24.2.1到22.1)。除此之外,OP将失去自22.1以来版本所做的所有错误修复,新功能,优化和其他改进。根据我的经验,这类问题往往有不同的根本原因,在更改版本之前,这些问题值得探讨。 – clownba0t

1

终于解决了。 供将来参考:

有没有必要更改支持库。 我上android.developer.com发现,

在KITKAT和更早的版本,所产生的路径可能不会 显示器上的硬件加速画布。

尽管它没有启用,我需要手动禁用清单:android:hardwareAccelerated="false"

相关问题