我正在使用Android 2.2开发Android应用程序,我的应用程序APK大小为22.5 MB,我想为三星平板电脑创建一个新版本.我收到以下错误:
INSTALL_FAILED_DEXOPT
我该如何解决这种错误?
当我尝试在运行Gingerbread和Froyo的设备上安装我的apk文件时,它会抛出此错误:无法安装应用程序:pkg:/sdcard/temp.apk失败[INSTALL_FAILED_DEXOPT].如果有人通过Google Play安装它,则会显示一个弹出窗口,其中显示以下消息:"程序包文件无效".我联系了Google Play开发人员支持,他们建议我在Android开发论坛上搜索"dexopt failed gingerbread froyo",我确实搜索了这个问题,但找不到任何解决方案.任何帮助,将不胜感激.
编辑:此错误有帮助吗?DexInv:--- END'/mnt/asec/org.example.android-1/pkg.apk'--- status = 0x000b,在'/ data/dalvik-cache/mnt @ asec @ org上处理失败dexopt失败. example.android-1 @ pkg.apk @ classes.dex'res = 11
我用的是最新的adt-bundle-windows-x86_64-20130717,与
我曾尝试在仿真器2.3.3上安装应用程序,包括ARM和Intel.但是,它不再起作用(在我使用最新的adt之前,它曾经在我的同一台Win64机器上工作)
Installation error: INSTALL_FAILED_DEXOPT
Please check logcat output for more details.
Launch canceled!
Run Code Online (Sandbox Code Playgroud)
我的模拟器设置如下.

我曾经按照如何解决INSTALL_FAILED_DEXOPT这个错误?.这对我的情况没有帮助.
请注意,4.1.2的仿真器对Intel非常有效.我甚至尝试通过电子邮件发送APK,然后从模拟器下载 - >安装.但是,这就是我所得到的Application not installed

解决这个问题的任何解决方法?
我的logcat正在进行此类日志记录
E/PackageManager(855): Package org.yccheok.jstock.gui has mismatched uid: 10031 on disk, 10033 in settings
E/dalvikvm(1241): LinearAlloc exceeded capacity (5242880), last=468
E/dalvikvm(1241): VM aborting
E/installd(798): dexopt failed on '/data/dalvik-cache/data@app@org.yccheok.jstock.gui-1.apk@classes.dex' res = 11
Run Code Online (Sandbox Code Playgroud)
注意,如果我使用的是模拟器4.1.2,则不会出现此问题
生成的"app-release.apk"不能用于我的设计,但"app-debug.apk"工作正常,
更新:
在转到我的应用程序的上一版本之后:
在我的MainActivity我有这个字符串:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final String PREFS_NAME = "MyPrefsFile";
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
if (settings.getBoolean("my_first_time", true)) {
//the app is being launched for first time, do something
TeamModel pm;
DBHelper db;
String teamNames1= "Los Angeles Lakers";
String teamOpponent1= "Golden State Warriors";
String teamDate1= "2015-03-16 22:30";
String teamNames2= "Atlanta Hawks";
String teamOpponent2= "Sacramento Kings";
String teamDate2= "2015-03-16 20:00";
.
.
String teamNames348= "Charlotte Hornets"; …Run Code Online (Sandbox Code Playgroud) 我正在开发在Android 1.5和Andoroid 2.x平台上运行的应用程序.当我在Android 2.2上安装它时一切正常,但在使用Android 1.5的模拟器上我收到错误:
Failure [INSTALL_FAILED_DEXOPT]
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?
UPD即Logcat输出:
09-26 07:12:22.484: INFO/PackageManager(579): /data/app/vmdl23706.tmp changed; unpacking
09-26 07:12:22.494: DEBUG/installd(557): DexInv: --- BEGIN '/data/app/vmdl23706.tmp' ---
09-26 07:12:36.114: ERROR/dalvikvm(1362): LinearAlloc exceeded capacity, last=336
09-26 07:12:36.114: ERROR/dalvikvm(1362): VM aborting
09-26 07:12:36.265: INFO/DEBUG(551): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-26 07:12:36.265: INFO/DEBUG(551): Build fingerprint: 'generic/sdk/generic/:1.5/CUPCAKE/150240:eng/test-keys'
09-26 07:12:36.265: INFO/DEBUG(551): pid: 1362, tid: 1362 >>> /system/bin/dexopt <<<
09-26 07:12:36.265: INFO/DEBUG(551): signal 11 (SIGSEGV), fault addr deadd00d …Run Code Online (Sandbox Code Playgroud)