Android数据绑定与Guava冲突导致ProGuard错误

2024-03-03

在启用 ProGuard 的情况下编译 Android 应用程序时,出现以下错误。

Warning: library class android.databinding.tool.util.SourceCodeEscapers$1 
    extends or implements program class com.google.common.escape.CharEscaper
Warning: library class android.databinding.tool.util.SourceCodeEscapers$JavaCharEscaper 
    extends or implements program class com.google.common.escape.ArrayBasedCharEscaper
Warning: library class android.databinding.tool.util.SourceCodeEscapers$JavaCharEscaperWithOctal 
    extends or implements program class com.google.common.escape.ArrayBasedCharEscaper
Warning: there were 3 instances of library classes depending on program classes.
         You must avoid such dependencies, since the program classes will
         be processed, while the library classes will remain unchanged.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#dependency)

看来这是由于Android之间的冲突造成的数据绑定 http://developer.android.com/tools/data-binding/guide.html和番石榴。我的应用程序依赖于 Guava (com.google.guava:guava:18.0) 并启用了数据绑定。它appears https://code.google.com/p/android/issues/detail?id=177343数据绑定对 Guava 有某种内部依赖,这导致了 ProGuard 的问题。

我正在运行最新的 gradle beta 版本(2.0.0-beta5),所以问题可能与此有关。


所以我可以通过将其添加到 proguard 来构建: -dontwarn android.databinding.** -keep class android.databinding.** { *; }

我认为忽略这些类并不完全是正确的解决方案,但我认为我们可能只需要等待谷歌的更新。将其添加到 proguard 后,我能够构建一个发布 apk,但它崩溃了,我认为它仍然是 proguard,但在我的代码中发现了其他错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android数据绑定与Guava冲突导致ProGuard错误 的相关文章

  • Flutter 中的 AndroidManifest 中缺少默认通知通道元数据

    我在用firebase messaging 5 0 1软件包来实现推送通知 在 IOS 中一切正常 而在 Android 中 当我的移动应用程序在后台运行时 我收到通知 但它没有导航到相应的屏幕 它只是打开默认屏幕 如何实现到该特定屏幕的导
  • 在我的 Android 应用程序中使用 ServerValue.TIMESTAMP

    我读过很多相关的 stackoverflow 问题 ServerValue TIMESTAMP 但我不知道如何在我的应用程序中使用它 我需要获取帖子创建的时间戳 时间戳应该添加到与帖子的 uid 作者等相同的位置 代码片段其中写这篇文章Fi
  • 如何在android网络库(ION)中使用自签名SSL?

    使用此网络库 https github com koush ion https github com koush ion 由于当前状态是开发 我想使用自签名 SSL 证书 图书馆论坛有一些讨论 https github com koush
  • Gradle 构建错误:内存不足

    当我使用 gradle 构建时 它失败并显示以下信息 OpenJDK 64 Bit Server VM warning INFO os commit memory 0x0000000788800000 89128960 0 failed e
  • 使用一个 apk 安装两个应用程序

    我有 2 个应用程序 1 内容提供者 2 使用此 ContentProvider 的应用程序 我需要使用单个 apk 文件安装这 2 个应用程序 我想在 Eclipse 中同时推送这两个应用程序 如果我将另一个项目添加到一个应用程序的构建路
  • 如何访问android库项目中的资源

    我正在构建一个 android 库项目 它内部需要一些静态资源 图像 xml 等 然后我想知道我可以把这些资源放在哪里以及如何访问它们 既然我把资源放到了assets文件夹 我使用 AssetManager 来访问资源 public cla
  • 位图内存不足错误

    我对这个错误有疑问 我从 URL 制作网站图标解析器 我这样做是这样的 public class GrabIconsFromWebPage public static String replaceUrl String url StringB
  • Google 地图删除标记路线上下文菜单

    我使用 Android Studio 的 Google 地图模板启动了一个新项目 并在地图上添加了一个标记 LatLng location new LatLng lat lng Marker marker mMap addMarker ne
  • 我想从 android 中服务器的视频 url 创建缩略图

    My code public static Bitmap retriveVideoFrameFromVideo String videoPath throws Throwable Bitmap bitmap null MediaMetada
  • Android Fragment onCreateView 与手势

    我正在尝试在片段中使用手势 我在 FragmentActivity 中有以下内容来处理我的详细信息片段 我试图发生的情况是 当在视图上检测到滑动时 将该视图内的数据替换为上一个或下一个条目 如果有更好的方法来处理这个问题 我完全同意 然而
  • 在选项卡上保存数据

    我有 3 个选项卡 每个选项卡都有一个单独的活动 我想在用户单击任一选项卡上的 保存 时保存数据 有几个选项可供选择 共享首选项 全局变量或将对象保存在上下文中 编辑 我必须保存图像和文本字段 Android 共享首选项 https sta
  • 来自相机的 MediaCodec 视频流方向和颜色错误

    我正在尝试流式传输视频捕获直接从相机适用于 Android 设备 到目前为止 我已经能够从 Android 相机捕获每一帧预览帧 byte data Camera camera 函数 对数据进行编码 然后成功解码数据并显示到表面 我用的是安
  • 如何制作在手机和平​​板电脑上使用的响应式Android应用程序?

    我创建了一个 Android 应用程序 当我运行我的应用程序时Mobile Phone它工作得很好 但是当我跑进去时Tablet应用程序的布局已更改 那么 如何制作响应式Android应用程序用于Mobile并且也在Tablet 在Andr
  • 有多少种方法可以将位图转换为字符串,反之亦然?

    在我的应用程序中 我想以字符串的形式将位图图像发送到服务器 我想知道有多少种方法可以将位图转换为字符串 现在我使用 Base64 格式进行编码和解码 它需要更多的内存 是否有其他可能性以不同的方式做同样的事情 从而消耗更少的内存 现在我正在
  • Jetpack 导航:如何从一个嵌套图的子级导航到另一个嵌套图的子级?

    导航结构 MainActivity nav root HomeFragment AuthNestedGraph nav auth BeforeOtpFragment home OtpFragment ProfileNestedGraph n
  • SDK >=26 仍需要 mipmap/ic_launcher.png?

    在 Android 中 有两种指定启动器图标 可以说是应用程序图标 的方法 老 方式 在 mipmap 文件夹中指定不同的 png 文件 通常命名为 ic launcher png 但可以通过以下方式设置名称android icon mip
  • 如何构建自定义摄像机应用程序?

    我正在尝试开发一个自定义摄像机录像机 当我的设备在 Activity 的 beginRecording 中执行 start MediaRecorder 方法时 应用程序崩溃 我不知道出了什么问题 因为我遵循谷歌API指南 http deve
  • 如何在 Android 上将动态 alpha 遮罩应用于文本

    I want to make a dynamic alpha mask with drawable shapes as circles or whatever and apply it to a drawed text on Android
  • 剪切评级栏中的图像

    我制作了自己的评级栏 花朵图像有 4 种尺寸 xdpi hdpi 等 从 24px24px 到 64x64px
  • 如何在布局编辑器中模拟沉浸式模式

    我想在布局编辑器中全屏查看我的布局 我正在使用 eclipse 插件 我已经通过选择隐藏了 ActionBar NoActionBar组合中的主题 但导航栏是一个不同的故事 AFAIK 它只能使用代码中的标志来隐藏 我需要在活动 xml 文

随机推荐

  • 输入助手 valueBinding 已弃用 - 有什么替代方案?

    我有一些像这样的文本输入助手 input type text valueBinding name focus out focusOutName 我刚刚将 Ember 升级到 1 11 0 现在收到此弃用警告 弃用 您尝试通过将 valueB
  • 如何通过ajax将值传递给php变量

    这是我的 JavaScript 代码 function category row dataparam oper delete row row ajax type POST url multiupload php data dataparam
  • Helm Charts 中的秘密管理

    我正在尝试使用Helm charts在 Kubernetes 集群中安装应用程序 有人可以建议什么是更好的秘密管理解决方案吗 使用helm secrets是个好主意或者Hashicorp Vault Vault 在技术上非常棒 但它可能会成
  • 如何创建类似谷歌纵横的标记?

    在我的 HTML5 应用程序中 我使用 Google Map v3 并在地图上添加多个标记 放置新标记和更改图标很容易 但我希望能够构建像谷歌纬度中使用的标记一样的标记 这些标记设置有图标图像和漂亮的边框 关于如何做到这一点有什么想法吗 您
  • 使用 bootstrap 无法在 angularjs 中打开模式窗口

    这是我的 app js 文件 const app angular module CurseTransport ui router ui bootstrap ngMessages raceModule app config stateProv
  • Azure函数应用程序-在执行和间歇性运行的旧代码之间共享全局变量

    目前 我在 Azure 函数应用程序中面临两个问题 我已提供以下详细信息 1 全局变量内容在执行之间共享 我使用了并发字典 它是一个全局变量 私有的和静态的 该变量在队列触发器中使用 private static readonly Conc
  • iphone开发:验证来自https url的证书信息

    当用户使用网络浏览器 Safari Chrome等 连接到 https url 时 例如 https encrypted google com 则用户可以获得有关证书相关的信息到这样的 https url 也就是说 在连接到url http
  • 使用 HTML 表单和 PHP 更新 MySQL 数据库字段数据

    所以我试图使用 html 表单和一些 PHP 代码更新数据库字段 但我无法让它工作 它不会抛出任何错误 但不会更新该字段 我不确定它是否因为我也回显该字段网页 它似乎所做的就是打印失败消息 HTML
  • MSSQL - 将一个字段拆分为 3 个字段

    我有一个由 1 列组成的结果集 在本例中为 2 行 单列 ProductDescription 是一个 varchar 字段 其中包含 3 条信息 我没有设计它 我需要将这三条信息分成 3 个使用查询的附加字段 before Product
  • 在Bootstrap组件中单独加载

    我正在开发一个涉及许多开发人员的大型 Web 项目 我想精简 Bootstrap3 的包并仅保留我们正在使用的内容 基本上 这个想法是在页面加载到浏览器中时减少任何额外的开销 所以我可以通过两种方法来做到这一点 我也可以 a 从库中删除任何
  • 如何使用 lambda 表达式创建扩展方法

    目前我正在创建一个接受参数的扩展方法 使用下面的示例 如何使用 lambda 表达式对其进行转换 public static decimal ChangePercentage this IEnumerable
  • 根据前缀对目录中的文件进行分组

    我有一个包含图片的文件夹 文件夹 1 Files ABC 138923 ABC 3223 ABC 33489 ABC 3111 CBA 238923 CBA 1313 CBA 1313 DAC 38932 DAC 1111 DAC 1389
  • 使用 Microsoft Graph API 获取 SharePoint Online 团队网站

    我正在尝试访问组织的 SharePoint 团队网站 我使用 Microsoft Graph API 因为它是 Office 365 最完整的 API 我了解如何获取访问令牌以及如何使用它来发出请求 我知道它有效 因为我可以获得组列表 但是
  • 获取ejs模板中的url参数

    我试图根据 URL 参数创建一个 ejs 条件 例如 如果测试参数存在于 localhost 3000 page test 则显示一个 div 否则不显示它 我的 ejs 模板看起来像这样 div class row div div div
  • 如何捕获事件调度线程 (EDT) 异常?

    我正在使用一个名为MyExceptionHandler实现Thread UncaughtExceptionHandler处理我的项目中的正常异常 据我了解 这个类无法捕获 EDT 异常 所以我尝试在main 处理EDT异常的方法 publi
  • jQuery 测试 element1 是否是 element2 的后代

    有谁知道一种好方法来测试存储在 var 中的一个元素是否是另一个也存储在 var 中的元素的后代 我不需要element1 isChildOf selector 这很容易 I need element1 isChildOf element2
  • 从 kafka-Spark-Streaming 读取数据时获取空集

    大家好 我是 Spark Streaming 的新手 我正在尝试读取 xml 文件并将其发送到 kafka 主题 这是我的 Kafka 代码 它将数据发送到 Kafka console consumer Code package org a
  • 结合模板和`ConfigParser`

    我有一个名为的模板文件foo cfg Box box active box activate resolution tracker active true box api key box api key box api secret box
  • PHP:通过 cronjob 发送电子邮件并设置每分钟发送的电子邮件量

    我有一个用于发送群组电子邮件的程序 我为此程序设置了每分钟一个玉米作业 并设置每 2 次 分钟执行一次 并检查现在的时间是否与我在数据库中定义的计划时间匹配 如果为 true 程序将运行并发送电子邮件 否则 nth 问题是我想动态设置用户每
  • Android数据绑定与Guava冲突导致ProGuard错误

    在启用 ProGuard 的情况下编译 Android 应用程序时 出现以下错误 Warning library class android databinding tool util SourceCodeEscapers 1 extend