jjzjj

android - APK 不会安装 : DalvikVM cannot optimize it (Byte swap and verify fails)

coder 2023-11-27 原文

当我尝试在以下条件下安装我的 Android 应用程序时,出现 INSTALL_FAILED_DEXOPT 错误(这似乎与此处询问的有关 INSTALL_FAILED_DEXOPT 的其他问题没有任何关系):

  1. 首先,使用 Eclipse 和 Android 插件将应用程序安装到新创建的 2.3.3 模拟器。
  2. 如上所述,在使用 Eclipse 的现有 2.3.3 和 2.2 模拟器上安装了较新版本的应用程序。
  3. 我什至尝试过在启动模拟器时点击“删除用户数据”复选框。
  4. 在运行 CyanogenMod 7.1 nightly (2.3.5) 的 HTC G2 上安装了较新版本的应用程序。
  5. 使用“adb -d uninstall com.jackcholt.reveal”从 G2 中删除了应用程序的先前版本,然后尝试使用“adb -d install Reveal3.apk”在 G2 上安装新版本

每次尝试时,我都会在 LogCat 中收到以下错误:

D/PackageParser(   75): Scanning package: /data/app/vmdl352595685.tmp
D/PackageManager(   75): Scanning package com.jackcholt.reveal
I/PackageManager(   75): Unpacking native libraries for /data/app/com.jackcholt.reveal-1.apk
D/installd(   35): DexInv: --- BEGIN '/data/app/com.jackcholt.reveal-1.apk' ---
E/dalvikvm(  378): Invalid name: 'menu_item_re‌index'
E/dalvikvm(  378): Trouble with item 282 @ offset 0x17dd8
E/dalvikvm(  378): Cross-item verify of section type 0004 failed
E/dalvikvm(  378): ERROR: Byte swap + verify failed
E/dalvikvm(  378): Optimization failed
W/installd(   35): DexInv: --- END '/data/app/com.jackcholt.reveal-1.apk' --- status=0xff00, process failed
E/installd(   35): dexopt failed on '/data/dalvik-cache/data@app@com.jackcholt.reveal-1.apk@classes.dex' res = 65280
W/PackageManager(   75): Package couldn't be installed in /data/app/com.jackcholt.reveal-1.apk

我尝试的第一件事是更改“无效名称”——“menu_item_index”。它位于具有以下内容的菜单定义 XML 文件的末尾:

<?xml version="1.0" encoding="utf-8"?>
<menu android:id="@+id/shared_menu" xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
        android:icon="@android:drawable/ic_menu_recent_history" 
        android:title="@string/menu_history" 
        android:id="@+id/menu_item_history"/>
    <item android:icon="@android:drawable/ic_input_get" 
        android:title="@string/menu_bookmark" 
        android:id="@+id/menu_item_bookmark"/>
    <item android:id="@+id/menu_item_previous" 
        android:icon="@drawable/previous_chapter" 
        android:title="@string/menu_previous"/>
    <item android:id="@+id/menu_item_next" 
        android:icon="@drawable/next_chapter" 
        android:title="@string/menu_next"/>
    <item android:icon="@android:drawable/ic_menu_set_as" 
        android:id="@+id/menu_item_download" 
        android:title="@string/menu_browser"/>
    <item android:icon="@android:drawable/ic_menu_preferences" 
        android:id="@+id/menu_item_settings" 
        android:title="@string/menu_settings"/>
    <item android:id="@+id/menu_item_note_browser" 
        android:title="@string/annot_brow" 
        android:icon="@android:drawable/ic_input_get"/>
    <item android:icon="@android:drawable/ic_menu_more" 
        android:title="@string/more" 
        android:id="@+id/menu_extra">
        <menu> 
            <item android:id="@+id/menu_item_download" 
                android:title="@string/menu_browser"/>
            <item android:id="@+id/menu_item_note_browser" 
                android:title="@string/annot_brow"/>
            <item android:title="@string/menu_help" 
                android:id="@+id/menu_item_help"/>
            <item android:title="@string/menu_refresh_library" 
                android:id="@+id/menu_item_refresh_lib"/>
            <item android:title="@string/menu_update" 
                android:id="@+id/menu_item_update"/>
            <item android:title="@string/reset" 
                android:id="@+id/menu_item_reset"/>
            <item android:title="@string/donate_menu" 
                android:id="@+id/menu_item_donate"/>
            <item android:title="@string/menu_license" 
                android:id="@+id/menu_item_license"/>
            <item android:id="@+id/menu_item_about" 
                android:title="@string/menu_about"/>
            <item android:id="@+id/menu_item_re‌index" 
                android:title="@string/reindex_books"/>
        </menu>
    </item>
</menu>

我需要做什么来避免 INSTALL_FAILED_DEXOPT 错误?

最佳答案

不确定这是否相关,但这是否是由于 dex 输出文件对于您正在运行的 android 版本而言太大而导致的?

即,相同的二进制文件是否可以在更高 API 版本的 android 上运行? (如果是,那么很可能是方法太多的问题)

关于 dexopt 失败还有许多其他线程,似乎唯一可接受的答案是限制您正在使用的类的数量;你在使用proguard吗?

关于android - APK 不会安装 : DalvikVM cannot optimize it (Byte swap and verify fails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7340619/

有关android - APK 不会安装 : DalvikVM cannot optimize it (Byte swap and verify fails)的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby - Highline 询问方法不会使用同一行 - 2

    设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案

  6. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  7. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  8. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  9. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  10. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

随机推荐