Giter Site home page Giter Site logo

launcher3's Introduction

Launcher3

更新:20231209

说明

目前只支持withoutQuickstep编译

主要分支

  • Launcher3-6.0
  • Launcher3-7.0
  • Launcher3-8.0 (android-8.0.0_r24)
  • Launcher3-9.0
  • Launcher3-10.0 (android-10.0.0_r46)
  • Launcher3-11
  • Launcher3-12(可以编译Quickstep版本)
  • Launcher3-13-Qc(高通版本,可以编译Quickstep版本)
  • Launcher3-13 (Launcher3-13.0.0_r83(7e9e70085176ea46bf773019a5054942d2fc3811))--Android-13
  • master (Launcher3-android14-s2-release)--Android-14

源码参考

https://cs.android.com/android/platform/superproject/+/master:packages/apps/Launcher3/

教程

注:本教程是基于Android6.0的Launcher3讲解的,最新版与现在版本差异较大,我尽量在关键位置添加相应的注释,方便大家修改。

Protobuf相关信息查看

预览图

⚡ Visitor count

Star History

[Star History Chart

launcher3's People

Contributors

yuchuangu85 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

launcher3's Issues

ERROR: Directory 'LauAncher3\build\extracted-include-protos\main' specified for property '$3' does not exist.

导入编辑器后出现错误
ERROR: Directory 'LauAncher3\build\extracted-include-protos\main' specified for property '$3' does not exist.

org.gradle.api.tasks.TaskValidationException: Some problems were found with the configuration of task ':generateAospDebugProto'.

Cause 1: org.gradle.api.InvalidUserDataException: Directory 'D:\develope\projects\android\reference\Launcher3\build\extracted-include-protos\main' specified for property '$3' does not exist.
Cause 2: org.gradle.api.InvalidUserDataException: Directory 'D:\develope\projects\android\reference\Launcher3\build\extracted-include-protos\aosp' specified for property '$6' does not exist.
Cause 3: org.gradle.api.InvalidUserDataException: Directory 'D:\develope\projects\android\reference\Launcher3\build\extracted-include-protos\debug' specified for property '$9' does not exist.

systemui包无法找到

编译过程中出现com.android.systemui下面的文件报错:
import com.android.systemui.shared.system.TonalCompat;
import com.android.systemui.shared.system.RotationWatcher;
import com.android.systemui.shared.plugins.PluginManager;

看了prebuilts文件的libs下面有对应的jar包,但是没有展开?然后去build.gradle中查看

final String ANDROID_TOP = "${rootDir}/"
final String FRAMEWORK_PREBUILTS_DIR = "${ANDROID_TOP}/prebuilts/"

    // Recents lib dependency
    withQuickstepImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/**quickstep**/libs", include: 'sysui_shared.jar')

    // Recents lib dependency for Go
    withQuickstepIconRecentsImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/**quickstep**/libs", include: 'sysui_shared.jar')

发现prebuilts中木有quickstep文件路径?有些不明白,希望指导一下,谢谢

有没有办法用 fragment 自定义负一屏

如题,看到 Google search 用的是 dialog 进程间通信的方式,有没有办法用 fragment 或者 activity 做,这样可以把其他项目的界面合并到桌面的负一屏,麻烦老哥指点

prebuilts/framework_intermediates/libs/sysui_shared.jar not compatible with quickstep

Hi,

First, thank you for making the effort of providing this repo, it's very helpful.

It looks like the sysui_shared.jar is not compatible with quickstep. This folder (smartspace) is missing from the provided jar.

When I compile without quickstep it works but if I try with quickstep it fail with this error:

error: package com.android.systemui.shared.system.smartspace does not exist
import com.android.systemui.shared.system.smartspace.ISmartspaceTransitionController;
                                                                                         ^

Also, can you tell me what feature quickstep provide please?


你好,

首先,感谢您提供这个 repo 的努力,它非常有帮助。

看起来 sysui_shared.jar 与 quickstep 不兼容。 这个文件夹 (smartspace) 提供的 jar.

当我在没有 quickstep 的情况下进行编译时,它可以工作,但是如果我尝试使用 quickstep,它会失败并出现以下错误:

error: package com.android.systemui.shared.system.smartspace does not exist
import com.android.systemui.shared.system.smartspace.ISmartspaceTransitionController;
                                                                                         ^

另外,你能告诉我快步提供了什么功能吗?

Android6.0 崩溃

编译安装在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)

安卓5.1.1设备上无法向桌面添加小部件

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.appwidget.action.APPWIDGET_BIND (has extras) }
    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1808)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1528)
    at android.app.Activity.startActivityForResult(Activity.java:3788)
    at android.app.Activity.startActivityForResult(Activity.java:3749)
    at neso.launcher3.Launcher.startActivityForResult(Launcher.java:2058)
    at neso.launcher3.Launcher.addAppWidgetFromDrop(Launcher.java:2388)
    at neso.launcher3.Launcher.addPendingItem(Launcher.java:2301)
    at neso.launcher3.Workspace$11.run(Workspace.java:3492)
    at neso.launcher3.Workspace$12.run(Workspace.java:3687)
    at neso.launcher3.DragLayer$3.onAnimationEnd(DragLayer.java:787)
    at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1171)
    at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:722)
    at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:738)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:773)
    at android.view.Choreographer.doCallbacks(Choreographer.java:586)
    at android.view.Choreographer.doFrame(Choreographer.java:555)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:759)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5271)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)

在 DragView.getBadge 为什么会出现 width / height 必须要 > 0的场景

Back traces starts.
java.lang.IllegalArgumentException: width and height must be > 0
at android.graphics.Bitmap.createBitmap(Bitmap.java:1133)
at android.graphics.Bitmap.createBitmap(Bitmap.java:969)
at com.vivo.content.ImageUtil.getCloneBitmap(ImageUtil.java:1546)
at com.vivo.content.ImageUtil.getCloneBitmap(ImageUtil.java:1470)
at android.app.ApplicationPackageManager.getUserBadgedIcon(ApplicationPackageManager.java:1610)
at android.launcher.dragndrop.i.A(DragView.java:14)
at android.launcher.dragndrop.i.n(DragView.java:1)
at android.launcher.dragndrop.i$c.run(DragView.java:11)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:239)
at android.os.HandlerThread.run(HandlerThread.java:67)
Back traces ends.

Add new left screen

I want to add a simple blank page to the left side of the launcher. Can u help me guys? Please.

Like that..
X8PB4

Thanks..

运行起来这里报错是遇到过的问题吗

2022-08-31 18:47:36.981 5446-5446/com.android.launcher3 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.android.launcher3, PID: 5446
java.lang.NoSuchMethodError: No interface method getMaximumWindowMetrics()Landroid/view/WindowMetrics; in class Landroid/view/WindowManager; or its super classes (declaration of 'android.view.WindowManager' appears in /system/framework/framework.jar!classes3.dex)
at com.android.launcher3.util.window.WindowManagerProxy.getRealBounds(WindowManagerProxy.java:131)
at com.android.launcher3.util.DisplayController$Info.(DisplayController.java:327)
at com.android.launcher3.util.DisplayController.(DisplayController.java:120)
at com.android.launcher3.util.DisplayController.$r8$lambda$QjdXHmv721WSoJW-MI-3oZlD7FY(Unknown Source:2)
at com.android.launcher3.util.DisplayController$$ExternalSyntheticLambda0.get(Unknown Source:0)
at com.android.launcher3.util.MainThreadInitializedObject.lambda$get$0$com-android-launcher3-util-MainThreadInitializedObject(MainThreadInitializedObject.java:58)
at com.android.launcher3.util.MainThreadInitializedObject$$ExternalSyntheticLambda2.get(Unknown Source:4)
at com.android.launcher3.util.TraceHelper.allowIpcs(TraceHelper.java:84)
at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:57)
at com.android.launcher3.InvariantDeviceProfile.initGrid(InvariantDeviceProfile.java:311)
at com.android.launcher3.InvariantDeviceProfile.(InvariantDeviceProfile.java:195)
at com.android.launcher3.InvariantDeviceProfile.$r8$lambda$DNcXzmawjoq65q3wgQi9M48DryY(Unknown Source:2)
at com.android.launcher3.InvariantDeviceProfile$$ExternalSyntheticLambda1.get(Unknown Source:0)
at com.android.launcher3.util.MainThreadInitializedObject.lambda$get$0$com-android-launcher3-util-MainThreadInitializedObject(MainThreadInitializedObject.java:58)
at com.android.launcher3.util.MainThreadInitializedObject$$ExternalSyntheticLambda2.get(Unknown Source:4)
at com.android.launcher3.util.TraceHelper.allowIpcs(TraceHelper.java:84)
at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:57)
at com.android.launcher3.LauncherAppState.(LauncherAppState.java:143)
at com.android.launcher3.LauncherAppState.(LauncherAppState.java:84)
at com.android.launcher3.LauncherAppState$$ExternalSyntheticLambda4.get(Unknown Source:2)
at com.android.launcher3.util.MainThreadInitializedObject.lambda$get$0$com-android-launcher3-util-MainThreadInitializedObject(MainThreadInitializedObject.java:58)
at com.android.launcher3.util.MainThreadInitializedObject$$ExternalSyntheticLambda2.get(Unknown Source:4)
at com.android.launcher3.util.TraceHelper.allowIpcs(TraceHelper.java:84)
at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:57)
at com.android.launcher3.LauncherAppState.getInstance(LauncherAppState.java:72)
at com.android.launcher3.Launcher.onCreate(Launcher.java:456)
at android.app.Activity.performCreate(Activity.java:7869)

android 5.0 崩溃

11-02 10:49:04.977 3151-3151/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.android.mxlauncher3, PID: 3151
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.mxlauncher3/com.android.launcher3.Launcher}: android.view.InflateException: You must specifiy a valid layout reference. The layout ID ?android:attr/keyboardLayout is not valid.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: android.view.InflateException: You must specifiy a valid layout reference. The layout ID ?android:attr/keyboardLayout is not valid.
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:866)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at com.android.launcher3.Launcher.onCreate(Launcher.java:417)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
at android.app.ActivityThread.access$800(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5254) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.