问题异常处理收集
1.java.lang.NoSuchMethodError
Process Name: 'com.test.demo'
Thread Name: 'main'
Back traces starts.
java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:62)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6388)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:930)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:820)
Caused by: java.lang.NoSuchMethodError: No static method withInitial(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal; in class Ljava/lang/ThreadLocal; or its super classes (declaration of 'java.lang.ThreadLocal' appears in /system/framework/core-oj.jar)
at com.test.demo.common.commonutils.TimeUtil.<clinit>(TimeUtil.java:128)
at com.test.demo.common.commonutils.TimeUtil.getfriendlyTime(TimeUtil.java)
at com.test.demo.common.commonutils.AdViewpagerUtil$3.onPageSelected(AdViewpagerUtil.java:625)
at android.support.v4.view.ViewPager.dispatchOnPageSelected(ViewPager.java:1941)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:665)
分析:
|
根据您提供的最新错误日志,问题是 java.lang.NoSuchMethodError,具体是找不到 ThreadLocal 类中的 withInitial 静态方法。这通常表示您正在使用的 Android 版本不支持该方法。 分析:
2. 调用栈:从调用栈中可以看到,问题发生在 TimeUtil 类的静态初始化块中,可能是因为该类依赖于不兼容的 Java 8 特性。 处理建议:
2. 替代方案:
3. 使用 Java 7 兼容的代码:
5. 清理和重建项目:
通过以上步骤,您应该能够定位并解决问题。如果需要进一步的帮助,请提供更多的上下文或代码示例。 |
ThreadLocal.withInitial(Supplier<? extends T> supplier) 方法是在 Java 8 中引入的,因此在较低版本的 Android(特别是 Android 7.1 及以下)中不被支持。
解决方案:
如果您需要在较低版本的 Android 上使用 ThreadLocal,可以使用以下替代方法:
public static final ThreadLocal<SimpleDateFormat> sameDayFormat = new ThreadLocal<SimpleDateFormat>() {
@Override
protected SimpleDateFormat initialValue() {
return new SimpleDateFormat("HH:mm");
}
};

2.Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared
or use tools:overrideLibrary="xxx.xx.xxx" to force usage (may lead to
解决方案:
在uses-sdk节点加上 tools:overrideLibrary="xxx.xx.xxx"
如:
<uses-sdk tools:overrideLibrary="com.umeng.umcrash"></uses-sdk>

2043

被折叠的 条评论
为什么被折叠?



