标签: android-6.0.1-marshmallow

在设备上调试时,"源代码与字节码不匹配"

我有一个应用程序,我正在编译API级别21: 在此输入图像描述

然后在API级别为23的真实设备上调试它:

在此输入图像描述

问题是当我尝试通过Android OS自己的类进行调试时,我得到'源代码与字节码不匹配'.为什么会这样?应用程序运行的测试设备是API级别23,正在调试的源文件也是级别23. *在此处输入图片说明*

我真的很困惑.任何人都可以解释为什么我看到这个消息以及我如何解决它?

java android android-debug android-studio android-6.0.1-marshmallow

64
推荐指数
4
解决办法
7万
查看次数

Android 6.0.1上的Spinner内部填充更大

介绍:

随着Android 6.0.1的新版本,似乎Android对Spinner组件进行了一些更改,因为默认情况下,胡萝卜周围的内部填充更大一些.

我在一个应用程序中注意到了这一点,我没有修改代码中的任何内容,只是更新了设备上的操作系统,但是微调器的大小不同.

情况:

我有两个旋转器,一个在另一个旁边RelativeLayout(介意其余组件,我添加了所有内容,所以你可以看到这部分布局 - 删除了完全不必要的属性或视图ID)

<RelativeLayout
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:id="@+id/container_for_buttons_on_the_right"
        android:layout_width="wrap_content"
        android:layout_height="48dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true">

        <!-- Buttons here-->
    </LinearLayout>

    <android.support.v7.widget.AppCompatSpinner
        android:id="@+id/spinner_1"
        android:layout_width="wrap_content"
        android:layout_height="48dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <ViewSwitcher
        android:id="@+id/spinner_switch"
        android:layout_width="wrap_content"
        android:layout_height="48dp"
        android:layout_toEndOf="@id/spinner_1"
        android:layout_toLeftOf="@id/container_for_buttons_on_the_right"
        android:layout_toRightOf="@id/spinner_1"
        android:layout_toStartOf="@id/container_for_buttons_on_the_right"
        android:inAnimation="@anim/fade_in"
        android:outAnimation="@anim/fade_out">

        <android.support.v7.widget.AppCompatSpinner
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <!-- ImageView properties are incomplete but I need it there.-->
    </ViewSwitcher>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Spinner适配器用于该getView()方法的布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:orientation="horizontal"
    android:paddingLeft="8dp"
    android:paddingRight="8dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:ellipsize="end"
        android:gravity="center_vertical"
        android:singleLine="true"
        tools:text="Test" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-spinner android-6.0-marshmallow android-6.0.1-marshmallow

18
推荐指数
1
解决办法
3253
查看次数

第二次启动后Android 6.0.1设备上的OutOfMemory错误

我的项目一直在运行,直到我将S6 Edge更新为Android 6.0.1.

第二次启动,应用程序崩溃并出现OutOfMemory错误.

该应用程序在目录中包含2000多个图像,我使用计时器递增计数器并在imageView上显示它们.当onFinish()/ onPause()/ onDestroy()被调用时,我通过将它们设置为null来销毁/取消所有对象,例如定时器,计数器和imageView.

这就是我如何获取/打印图像到imageView

int resID = getResources().getIdentifier("animation"+i , "drawable", getPackageName());
    Drawable animationFrame = ContextCompat.getDrawable(this, resID);
    animationView.setImageDrawable(animationFrame);
    i++;
Run Code Online (Sandbox Code Playgroud)

它在初始启动时运行(即使我使用生成的APK安装应用程序).当我从最小化的应用程序中删除应用程序时,应用程序在2-3秒后崩溃.我已经检查了分配的内存,并且在第一次运行时是正常的(最多12MB),而在第二次运行时分配的内存是255MB.

onDestroy()方法 这包括我初始化的所有变量.我的变量初始化为私有或没有访问变量.

@Override
protected void onDestroy() {
    super.onDestroy();
    pauseAnimation();
    animationView.setImageDrawable(null);
    animationView = null;
    justAnimation = null;
    buttonSign = null;
    i = 0;
    media.stop();
    media  = null;
    deathRateEU = 0;
    deathRateUK = 0;
    labelNumber = null;
    labelNumberUK = null;
    buttonSign = null;
    loadingEU = null;
    loadingUK = null;

}
Run Code Online (Sandbox Code Playgroud)

Media是MediaPlayer,初始化为public,当计数器(i)到达某个点时播放声音

我在另一个运行Android 5.1.3的设备上安装了这个(不确定,但它是5.1的东西).

在Android 6.0.1上最小化应用程序时,OutOfMemory问题是否存在已知错误? …

android out-of-memory android-6.0-marshmallow android-6.0.1-marshmallow

11
推荐指数
1
解决办法
901
查看次数

尝试在空对象引用上调用虚拟方法'void android.widget.Editor $ SelectionModifierCursorController.hide()'

仅在使用Android 6.0.1的三星手机上才会发生此错误。或7.0:

Fatal Exception: java.lang.NullPointerException
Attempt to invoke virtual method 'void android.widget.Editor$SelectionModifierCursorController.hide()' on a null object reference
	
android.widget.Editor.performLongClick (Editor.java:1139)
	
android.widget.TextView.performLongClick (TextView.java:10945)
	
android.view.View$CheckForLongPress.run (View.java:22568)
	
android.os.Handler.handleCallback (Handler.java:739)
	
android.os.Handler.dispatchMessage (Handler.java:95)
	
android.os.Looper.loop (Looper.java:148)
	
android.app.ActivityThread.main (ActivityThread.java:7325)
	
java.lang.reflect.Method.invoke (Method.java)
	
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
	
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)
Run Code Online (Sandbox Code Playgroud)

寻找一种预防方法。=)

看来这是一个已知问题,但是优先级较低:

问题228485:空对象引用上的SelectionModifierCursorController.hide()'

android samsung-mobile android-6.0.1-marshmallow android-7.0-nougat

7
推荐指数
1
解决办法
2857
查看次数

在Android M设备上使用Ripple Effect Library的IllegalStateException

使用 library来实现Ripple Effect除了Android M设备上工作正常.

在Android M设备上获得的信息IllegalStateException表明恢复中的下溢 - 恢复比恢复更多

FATAL EXCEPTION: main
Process: com.example.ripplethings, PID: 20119
java.lang.IllegalStateException: Underflow in restore - more restores than saves
at android.graphics.Canvas.native_restore(Native Method)
at android.graphics.Canvas.restore(Canvas.java:540)
at com.andexert.library.RippleView.draw(RippleView.java:166)
Run Code Online (Sandbox Code Playgroud)

android ripple android-6.0-marshmallow android-6.0.1-marshmallow

6
推荐指数
1
解决办法
1363
查看次数

如何将android模拟器更新到6.0.1

我收到错误'E/Surface:getSlotFromBufferLocked:unknown buffer:0xab7cffe0'.通过研究,我了解到它在android 6.0中已知问题.如何将android模拟器从6.0更新到6.0.1?在SDK管理器中,我可以看到安装了Android 7.0和Android 6.0,但6.0.1不存在.

安装了Android 7.0和Android 6.0,但6.0.1不存在

我该如何更新6.0到6.0.1?

同样在AVD管理器中,我看不到6.0以外的任何系统映像.我也安装了其他版本,那么如何为我的AVD选择那些版本的android? 在此输入图像描述

每次我运行我的应用程序时,我都会收到错误 emulator: WARNING: UpdateCheck: failed to get a URL: 35 (Error) emulator: WARNING: UpdateCheck: failed to get the latest version, skipping check (current version '24.4.1'

android android-sdk-tools android-studio android-6.0-marshmallow android-6.0.1-marshmallow

6
推荐指数
1
解决办法
5218
查看次数

android.content.res.Resources$NotFoundException File res/drawable/$my_app_img__0.xml 来自颜色状态列表资源 ID #0x7f07000a

我有ImageViewapp:srcCompat="@drawable/my_app_img"

我得到:

android.content.res.Resources$NotFoundException File res/drawable/$my_app_img__0.xml 来自颜色状态列表资源 ID #0x7f07000a

在 Android 6 上,不要在 8 及更高版本上使用它。

这是my_app_img.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:aapt="http://schemas.android.com/aapt"
    xmlns:tools="http://schemas.android.com/tools"
    android:width="73dp"
    android:height="103dp"
    android:viewportWidth="73"
    android:viewportHeight="103">
    <path
        android:fillAlpha="0"
        android:fillColor="#000000"
        android:pathData="M0,0l72.299,0l0,103l-72.299,0z" />
    <path android:pathData="M70.379,96.761L40.602,56.464L25.724,77.276C22.268,82.111 22.324,88.62 25.864,93.394L28.417,96.839C31.291,100.714 35.832,103 40.659,103H67.227C70.442,103 72.288,99.345 70.379,96.761Z">
        <aapt:attr name="android:fillColor">
            <gradient
                android:endColor="#FF094EC2"
                android:endX="31.7222"
                android:endY="68.3161"
                android:startColor="#FF005AF4"
                android:startX="57.4428"
                android:startY="104.487"
                android:type="linear"
                tools:targetApi="n" />
        </aapt:attr>
    </path>
    <path android:pathData="M68.592,0H38.75C36.254,0 33.907,1.188 32.431,3.199L2.949,43.369C-0.919,48.64 -0.988,55.79 2.778,61.134L19.001,84.156C19.001,80.833 20.044,77.594 21.984,74.895L71.598,5.853C73.355,3.407 71.606,0 68.592,0Z">
        <aapt:attr name="android:fillColor">
            <gradient
                android:endColor="#FF29EEFD"
                android:endX="32.6558"
                android:endY="31.6712"
                android:startColor="#FF2EB3ED"
                android:startX="6.53102"
                android:startY="64.8591"
                android:type="linear" />
        </aapt:attr>
    </path>
</vector>
Run Code Online (Sandbox Code Playgroud)

我也使用: …

android android-support-library android-6.0.1-marshmallow android-vectordrawable

6
推荐指数
2
解决办法
1689
查看次数

关于Android 6.0.1的问题“致命异常:android.view.WindowManager $ BadTokenException”

我在崩溃日志中看到此错误,该错误仅来自Android 6.0.1设备,而不是特定于设备的。

Fatal Exception: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
       at android.view.ViewRootImpl.setView(ViewRootImpl.java:849)
       at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:337)
       at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
       at android.widget.PopupWindow.invokePopup(PopupWindow.java:1329)
       at android.widget.PopupWindow.showAtLocation(PopupWindow.java:1077)
       at android.widget.PopupWindow.showAtLocation(PopupWindow.java:1035)
       at com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup.show(FloatingToolbar.java:563)
       at com.android.internal.widget.FloatingToolbar.show(FloatingToolbar.java:214)
       at com.android.internal.view.FloatingActionMode$FloatingToolbarVisibilityHelper.updateToolbarVisibility(FloatingActionMode.java:411)
       at com.android.internal.view.FloatingActionMode$1.run(FloatingActionMode.java:65)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:158)
       at android.app.ActivityThread.main(ActivityThread.java:7229)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Run Code Online (Sandbox Code Playgroud)

有谁知道这个问题的原因/解决方案?它似乎很少出现。

android android-6.0.1-marshmallow

5
推荐指数
1
解决办法
1068
查看次数

是否可以不仅使用状态栏,还可以使用页脚导航视图作为背景图像

我到处搜索但没有得到任何帮助.我想使用背景图像作为全屏幕,它将覆盖status barfooter navigation具有back buttonwith home button和a的task switcher button.

如下图所示:

Nexus 5主屏幕

android android-layout android-6.0-marshmallow android-6.0.1-marshmallow

3
推荐指数
1
解决办法
187
查看次数

ClassCastException:MediaMetadataRetriever 无法转换为 AutoCloseable

MediaMetadataRetriever我尝试与 Kotlin 一起使用use

MediaMetadataRetriever().apply {
    setDataSource(context, uri)
}.use {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但它在 Android 6 Marshmallow (23 API) 上给了我一个错误:

java.lang.ClassCastException:android.media.MediaMetadataRetriever 无法转换为 java.lang.AutoCloseable

为什么这样?

android kotlin android-6.0-marshmallow android-6.0.1-marshmallow

2
推荐指数
1
解决办法
1045
查看次数