Launcher3-dev / Launcher3

This is fork from Launcher3 in AOSP.

Home Page:https://github.com/yuchuangu85/Launcher-master

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android6.0 崩溃

gavin0x00 opened this issue · comments

编译安装在6.0的机器上,启动后,程序直接崩溃
异常信息:

    java.lang.NoSuchMethodError: No virtual method close()V in class Landroid/content/ContentProviderClient; or its super classes (declaration of 'android.content.ContentProviderClient' appears in /system/framework/framework.jar)
        at com.android.launcher3.LauncherAppState.getLocalProvider(LauncherAppState.java:181)
        at com.android.launcher3.LauncherAppState.<init>(LauncherAppState.java:84)
        at com.android.launcher3.LauncherAppState.getInstance(LauncherAppState.java:58)
        at com.android.launcher3.Launcher.onCreate(Launcher.java:275)
        at android.app.Activity.performCreate(Activity.java:6319)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2581)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2716)
        at android.app.ActivityThread.-wrap11(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1494)
        at android.os.Handler.dispatchMessage(Handler.java:111)
        at android.os.Looper.loop(Looper.java:207)
        at android.app.ActivityThread.main(ActivityThread.java:5795)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:834)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:724)

@Wangjiaxing123 你是用的master分支还是哪个分支,我修改一下整个问题。

master分支

@Wangjiaxing123 已经修改了,你试试。

还是不行,不知道是不是我机器ROM的问题

@Wangjiaxing123 你看看LauncherAppState里面最下面是不是这个代码。
private static LauncherProvider getLocalProvider(Context context) {
// modify by codemx.cn --20190322--------start
LauncherProvider provider = null;
try {
ContentProviderClient client = context.getContentResolver()
.acquireContentProviderClient(LauncherProvider.AUTHORITY);
if (client != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//>24
client.close();
} else {
client.release();
}
provider = (LauncherProvider) client.getLocalContentProvider();
} else {
Log.e("TAG", " can't get ContentProviderClient--- ");
}
} catch (Exception e) {
Log.e("TAG", e.getMessage());
}
return provider;
// modify by codemx.cn --20190322--------end
}

ok了,我本地没有pull到最新的