添加 Android Image Cropper 库会引发错误

Posted

技术标签:

【中文标题】添加 Android Image Cropper 库会引发错误【英文标题】:Adding Android Image Cropper library throws an error 【发布时间】:2017-02-10 13:33:24 【问题描述】:

当我将此库添加到我的 android 应用项目时,它给了我一个错误:

“检索项目的父项时出错:找不到与给定名称匹配的资源'android:TextAppearance.Material.Widget.Button.Inverse'

(还有 3 个类似的错误)

它还带我到 v23/values-v23.xml 文件,此行被标记:

我的 minSdkVersion 是 15,targetSdkVersion 是 21,compileSdkVersion 是 21。我猜这些应该保持原样?

我使用的是 Android Image Cropper 2.1.4,所以我认为这意味着它应该在 compileSdkVersion 21 上运行良好。

谁能给我一些提示如何解决这个问题?

我对 Android 开发有点陌生

【问题讨论】:

链接库github.com/ArthurHub/Android-Image-Cropper/wiki/… 您需要将 compileSdkVersion 更新为 23,因为您尝试添加的项目针对 23 【参考方案1】:

如果您确定在将这个库包含到您的项目后会出现这些错误,那么这个库肯定会使用一些从父资源 TextAppearance.Material 继承的样式资源。 Widget.Button.Inverse 不存在。此问题将通过从存在的父资源继承来解决(将 targetSDKVersion 设置为至少使用什么库)。

其次,最好将您的 targetSDKVersion 更改为最新版本并将SDKVersion 编译为最新版本。这就是编写应用程序时通常会做的事情。每个人都希望将所有新设备作为目标,以便能够使用自己的应用程序。

所以尝试更改目标并编译 SDKVerisons。 将 SDKVersions 更改为最新版本。

【讨论】:

能否请您告诉我如何更改配置,以便从实际存在的父资源继承?还有一个问题,如果我将 targetSdkVersion 和 compileSdkVersion 更改为更新的,那么它将如何影响我的应用程序的用户?那些具有较低 Android API 系统的人,那么我将设置为我的目标/编译器的那些人还能运行该应用程序吗? 您的最低SDK版本用于支持低端设备,正如您所说,您已将其设置为15,因此它将继续支持版本低至15的设备。而targetSDK版本如果设置为最新将使您的应用程序也可以被高端设备使用。将此更改为最新应该可以解决您的问题。 这个库正在使用 targetSDKVersion 24,这就是这个问题的原因。 有没有办法改变库的目标版本?

以上是关于添加 Android Image Cropper 库会引发错误的主要内容,如果未能解决你的问题,请参考以下文章

Edmodo Image Cropper 支持不同语言

Cropper.js的jQuery插件包装器。

使用CodeIgniter和Cropper进行图像裁剪

图像控制 ActualWidth 仅在第二次加载后才正确 - Image Cropper

使用image cropper拿到base64码后怎么做

移动端图片裁剪上传—jQuery.cropper.js