java.lang.VerifyError:使用发布 APK 时,验证程序拒绝了 Lollipop 上的类

2024-04-03

当我在 APK 上安装我的发布版 APK 时,出现此错误5.x设备。当我从 Android Studio 推送相同的代码,或者如果我在4.x device.

java.lang.VerifyError: Verifier rejected class com.myapp.android.ui.activity.MainActivity$$ViewInjector due to bad method void com.myapp.android.ui.activity.MainActivity$$ViewInjector.reset(com.myapp.android.ui.activity.MainActivity) (declaration of 'com.myapp.android.ui.activity.MainActivity$$ViewInjector' appears in /data/app/com.myapp.android-2/base.apk)
       at java.lang.Class.classForName(Class.java)
       at java.lang.Class.forName(Class.java:308)
       at java.lang.Class.forName(Class.java:272)
       at butterknife.ButterKnife.findInjectorForClass(ButterKnife.java:298)
       at butterknife.ButterKnife.inject(ButterKnife.java:271)
       at butterknife.ButterKnife.inject(ButterKnife.java:184)
       at com.myapp.android.ui.activity.MyDrawerActivity.onCreate(MyDrawerActivity.java:31)

我在类中注入了我的工具栏和自定义导航抽屉。

@InjectView(R.id.toolbar) Toolbar mToolbar;
@InjectView(R.id.nav_drawer) MyNavigationDrawer mNavigationDrawer;

Line 31:

ButterKnife.inject(this);

使用 Butterknife 代码生成器时是否有什么不同gradle assembleRelease?我根本没有使用 ProGuard。

以下是我的其他 Android 构建设置:

# Android SDK settings
ANDROID_BUILD_MIN_SDK_VERSION=14
ANDROID_BUILD_TARGET_SDK_VERSION=21
ANDROID_BUILD_SDK_VERSION=21
ANDROID_BUILD_TOOLS_VERSION=21.1.2

Logcat

I/art     (21354): Verification error in void com.myapp.android.ui.activity.MainActivity$$ViewInjector.inject(butterknife.ButterKnife$Finder, com.myapp.android.ui.activity.MainActivity, java.lang.Object)
I/art     (21354): void com.myapp.android.ui.activity.MainActivity$$ViewInjector.inject(butterknife.ButterKnife$Finder, com.myapp.android.ui.activity.MainActivity, java.lang.Object) failed to verify: register v4 has type Reference: com.myapp.android.ui.activity.MainActivity but expected Reference: com.myapp.android.ui.activity.LoggedInNavActivitya.lang.Object): [0x0]
I/art     (21354): Verification error in void com.myapp.android.ui.activity.MainActivity$$ViewInjector.reset(com.myapp.android.ui.activity.MainActivity)
I/art     (21354): void com.myapp.android.ui.activity.MainActivity$$ViewInjector.reset(com.myapp.android.ui.activity.MainActivity) failed to verify: register v1 has type Reference: com.myapp.android.ui.activity.MainActivity but expected Reference: com.myapp.android.ui.activity.LoggedInNavActivity
E/art     (21354): Verification failed on class com.myapp.android.ui.activity.MainActivity$$ViewInjector in /data/app/com.myapp.android-1/base.apk because: Verifier rejected class com.myapp.android.ui.activity.MainActivity$$ViewInjector due to bad method void com.myapp.android.ui.activity.MainActivity$$ViewInjector.reset(com.myapp.android.ui.activity.MainActivity)

清理掉build文件夹解决了问题。不知道为什么 ART 有问题,但 Dalvik 没有。

运行 gradleclean任务没有清除我的build一路文件夹。我必须手动完成,但是clean可能对某些人有用。

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

java.lang.VerifyError:使用发布 APK 时,验证程序拒绝了 Lollipop 上的类 的相关文章

随机推荐

  • RTSP服务器java实现问题:(

    我正在编写 RTSP 服务器并遇到一些问题 我使用 VLC 作为客户端 服务器从客户端 VLC 播放器 接收 OPTIONS DESCRIBE SETUP 和 PLAY 命令并回答该命令 通过 SETUP 命令客户端发送端口号 我正在使用该
  • HTML/CSS - 神秘的顶部填充不会消失

    我正在使用 CSS 制作列布局 并且进展顺利 令人惊讶的是 我的问题不是如何让专栏发挥作用 而是如何让专栏发挥作用 这就是功能 但我的专栏顶部却出现了一个令人毛骨悚然的神秘 填充 它正在压低内容 我在这里准备了一个例子 jsFiddle h
  • Callable 应该优先于 Runnable 吗?

    我已经明白了之间的区别Runnable and CallableJava 中的接口 从 Java 1 5 开始 添加了额外的功能Runnable接口并被调用Callable以保持向后兼容性 我的问题是现在我们有Callable接口 我们应该
  • GraphQL 请求错误 - 未知参数“slug”

    我正在尝试将我的 index js 页面链接到文章模板 以使用 slug 和显示来自中间件 Drupal 站点的数据createPages 我的 index js 页面和我的页面上的数据正确显示createPages将文件路径更改为后似乎没
  • OpenCL 在调用 clGetPlatformIDs 时崩溃

    我是 OpenCL 新手 在配备 Intel R HD Graphics 4000 运行 Windows 7 的 Core i5 计算机上工作 我安装了支持 OpenCL 的最新 Intel 驱动程序 GpuCapsViewer 确认我有
  • 何时在 Jersey 资源中使用 @Singleton

    我有一个访问数据库的泽西岛资源 基本上它在资源初始化时打开一个数据库连接 对资源的方法执行查询 我观察到 当我不使用 Singleton 时 数据库会根据每个请求打开 我们知道打开连接真的很昂贵 对吧 所以我的问题是 我应该指定资源是单例的
  • 为什么我的 React-Testing 库查询都不起作用?

    我正在使用 Jest Testing Library 编写 UI 单元测试 组件没有在 DOM 上渲染 罪魁祸首是组件 RequireScope 它单独包装了所有组件 换句话说 每个组件都会返回 return
  • 表格部分标题上方的白色分隔符

    我在表视图分隔符方面遇到了一个非常奇怪的问题 我已将分隔符颜色设置为深灰色 这在单元格下方效果很好 但由于某种原因 我的部分标题之前有一个白色分隔符 请参见 11 月上方的屏幕截图 当我将分隔符样式设置为无时 该线消失 表明它是分隔符 如何
  • WPF 中的 2D CAD 应用

    我正在尝试在 WPF NET 4 0 中编写一个类似 CAD 的应用程序 它需要能够显示大量 2D 点 线 它将用于通过鼠标悬停时的缩放 平移 旋转和点捕捉来显示整个城市的 CAD 平面图 现在我纯粹使用WPF 我从 CAD 文件中读取对象
  • 调整控制模板并仍然尊重操作系统的主题?

    在 WPF 中 如何修改标准控件的模板 使其稍后尊重操作系统的当前主题 如果我只是在混合中 编辑模板的副本 它只会给我当前运行主题的模板 它是否正确 因此 当我应用修改后的模板并在不同的主题上运行应用程序时 它看起来总是一样的 对于自定义控
  • 如何在 iPhone 上使用活动指示器视图?

    活动指示器视图在许多应用程序中都很有用 关于如何在 iPhone 上添加 激活和关闭活动指示器视图有什么想法吗 这里欢迎所有的方法 Create spinner UIActivityIndicatorView alloc initWithA
  • 如何在 Rails 中构建投票/调查类型应用程序

    我试图了解如何在 Rails 中创建民意调查 调查应用程序 现在我有以下模型 Poll id question string answer 1 string answer 2 string answer 3 string answer 4
  • 使用 openssl 而不是 mcrypt 在 PHP 中解密 AES-256-CFB

    下面的函数正确解密php5中的数据 function decrypt mcrypt key str str base64 decode str iv substr str 0 16 str substr str 16 return mcry
  • Socialauth-android 与 Facebook 授权成功,但验证码为空

    我正在使用socialauth android 让我的 Android 用户在 Facebook 上进行身份验证 我的问题如下 我可以成功显示 Facebook 登录页面 用户可以在其中输入凭据并授权我的应用程序 授权完成后 应调用 Soc
  • 为作为单独进程运行的 MAF 插件指定一个自定义名称

    我在单独的进程中使用 MAF 托管加载框架 激活我的插件 问题是它为每个进程提供了默认名称 AddInProcess32 作为单独进程运行的插件 我可以为 MAF 创建的流程指定一个自定义名称吗 如果是这样怎么办 PS 为什么我想给自定义名
  • 在 Seekbar 上注册 LongClick 侦听器

    在android中 我是否可以在搜索栏上注册长按监听器 我已经这样做了 mySeekBar setLongClickable true mySeekBar setOnLongClickListener new OnLongClickList
  • graph_from_place OSMNX 的响应时间极长

    我正在尝试下载墨西哥地图以避免使用查询save graphml并避免较长的响应时间graph from place 但我已经让这段代码运行了近六个小时 并且完全没有任何反应 import osmnx as ox ox config use
  • 为什么 throw new SkipException() 会跳过我的所有方法?

    为什么 throw new SkipException 会跳过所有类中的所有方法 第一类有一个方法失败 因此该类中的其余方法将被跳过 并且跳过计数器设置为 0 第二类应该执行所有方法 并且所有方法都应该传入第二类 因为跳过计数器设置为 0
  • 解压到当前目录,同时保留文件结构

    我在一个目录中 并且有一个包含文件和目录的 zip 文件 我需要将该文件解压缩到当前目录中 但保留文件结构 unzip myfile zip 将在当前目录中创建一个 myfile 目录 这不是我想要的 unzip j myfile zip
  • java.lang.VerifyError:使用发布 APK 时,验证程序拒绝了 Lollipop 上的类

    当我在 APK 上安装我的发布版 APK 时 出现此错误5 x设备 当我从 Android Studio 推送相同的代码 或者如果我在4 x device java lang VerifyError Verifier rejected cl