繁体   English   中英

Android App无法在更高版本上运行

[英]Android App not running on higher version

该应用程序在Emulator(5.1)和我的手机(4.1.2)中运行良好,但是在打开它时,在bluestacks(4.4.2)和高于4.1的真实电话中,“不幸的是,应用程序停止了”而导致崩溃

我在Bluestacks中运行时遇到了以下错误。 尝试更改minsdk版本和appcompact选项。

    10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer I/dalvikvm: Could not find method android.content.Context.getSystemService, referenced from method com.androidhive.musicplayer.MusicPlayerMainActivity.access$super
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer W/dalvikvm: VFY: unable to resolve virtual method 524: Landroid/content/Context;.getSystemService (Ljava/lang/Class;)Ljava/lang/Object;
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer D/dalvikvm: VFY: replacing opcode 0x6f at 0x004b
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer I/dalvikvm: Could not find method android.app.Activity.stopLockTask, referenced from method com.androidhive.musicplayer.MusicPlayerMainActivity.access$super
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer W/dalvikvm: VFY: unable to resolve virtual method 279: Landroid/app/Activity;.stopLockTask ()V
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer D/dalvikvm: VFY: replacing opcode 0x6f at 0x00b9
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer I/dalvikvm: Could not find method android.app.Activity.isInMultiWindowMode, referenced from method com.androidhive.musicplayer.MusicPlayerMainActivity.access$super
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer W/dalvikvm: VFY: unable to resolve virtual method 102: Landroid/app/Activity;.isInMultiWindowMode ()Z
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer D/dalvikvm: VFY: replacing opcode 0x6f at 0x00eb
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.androidhive.musicplayer.MusicPlayerMainActivity.access$super
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer W/dalvikvm: VFY: unable to resolve check-cast 234 (Landroid/os/PersistableBundle;) in Lcom/androidhive/musicplayer/MusicPlayerMainActivity;
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer D/dalvikvm: VFY: replacing opcode 0x1f at 0x00fc
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer I/dalvikvm: Could not find method android.content.Context.getColorStateList, referenced from method com.androidhive.musicplayer.MusicPlayerMainActivity.access$super
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer W/dalvikvm: VFY: unable to resolve virtual method 505: Landroid/content/Context;.getColorStateList (I)Landroid/content/res/ColorStateList;
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer D/dalvikvm: VFY: replacing opcode 0x6f at 0x010c
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer I/dalvikvm: Could not find method android.app.Activity.onVisibleBehindCanceled, referenced from method com.androidhive.musicplayer.MusicPlayerMainActivity.access$super
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer W/dalvikvm: VFY: unable to resolve virtual method 193: Landroid/app/Activity;.onVisibleBehindCanceled ()V
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer D/dalvikvm: VFY: replacing opcode 0x6f at 0x011c
10-21 22:27:22.551 12147-12147/player.kri.com.saranplayer I/dalvikvm: Could not find method android.content.ContextWrapper.deleteSharedPreferences, referenced from method com.androidhive.musicplayer.MusicPlayerMainActivity.access$super

非常感谢您的帮助。

根据Google Android工程师的说法,这是正常现象。

请参阅https://code.google.com/p/android/issues/detail?id=198567

当您使用比已部署的设备api级别更高的api级别进行编译时,会发生这种情况。 日志表明,某些方法不可用,虚拟机将用替代实现替换它们。

它仅表示您引用了当前无法在其上运行代码的平台上提供的方法。

要解决您的问题,请编写运行时开关:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // You can use here an API which was added in Lollipop.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM