[11+] UniversalAuth: Face Unlock for all ROMs

Search This thread

Zilla0617

Senior Member
It appears that the app will not dismiss the lock screen automatically on the March update with P6P. Had no issues on previous updates.

I tried deleting app data and starting from scratch but its the same result. If anyone has any possible suggestions please let me know. Thank you.
 

jcp2

Senior Member
Thats strange, i fully formated the phone and relocked the bootloader to remove it but as soon as i unlock it, it comes up again -_-"
if you've formatted your pixel already, use 'android flash tool' to install the full March update. Check the boxes for 'force flash all partitions' and 'wipe data'. It should get you up and running. Once your pixel boots fully, you can unlock the bootloader again.
 

nikagl

Senior Member
Jun 11, 2006
2,875
619
50
Nieuwegein, NL
OnePlus 6
lol I don´t know how, but now (left my phone for a few hours) it works.
I have the "even faster" option disabled though.

Big thanks to the Dev, as this was the last piece of the puzzle to get my OP6 up to modern Standards :D
Can't get it to work on my OP6 with LOS20 (currently running 20-20230221-NIGHTLY-enchilada). I have added Magisk (25200), enabled Zygisk + Denylist, added LSPosed (LSPosed-v1.8.6-6712-zygisk-release) and the latest versions (1.8) of Universal auth and Face Unlock. Enabled unrestricted access and set the accessibility option for Face Unlock.

The test works. Even faster enabled or disabled doesn't make a difference, it shows "looking for face" and "welcome" but doesn't unlock the phone (lock still shows) and i need to type my pin to unlock it...

Any thoughts?
 
Last edited:

Bornaradusin

Member
Dec 13, 2015
48
8
OnePlus 6T
Google Pixel 6
if you've formatted your pixel already, use 'android flash tool' to install the full March update. Check the boxes for 'force flash all partitions' and 'wipe data'. It should get you up and running. Once your pixel boots fully, you can unlock the bootloader

if you've formatted your pixel already, use 'android flash tool' to install the full March update. Check the boxes for 'force flash all partitions' and 'wipe data'. It should get you up and running. Once your pixel boots fully, you can unlock the bootloader again.
That's how i actually formated it, just did it again but as soon as i unlock the bootloader i get this again, the phone still works i just click the power button to continue and it boots it's just quite annoying
 

Attachments

  • IMG_20230322_201106.jpg
    IMG_20230322_201106.jpg
    1.7 MB · Views: 26

jcp2

Senior Member
That's how i actually formated it, just did it again but as soon as i unlock the bootloader i get this again, the phone still works i just click the power button to continue and it boots it's just quite annoying
not sure. I've used android flash tool every month for more than a year without getting the corrupted screen. Maybe someone smarter than I can chime in.
 

nikagl

Senior Member
Jun 11, 2006
2,875
619
50
Nieuwegein, NL
OnePlus 6
Something about the status bar missing? See attached logs

Code:
[ 2023-03-22T23:20:54.514    10144:  2381:  2381 E/LSPosed-Bridge  ] java.lang.ClassNotFoundException: Didn't find class "com.android.systemui.statusbar.phone.StatusBar" on path: DexPathList[[zip file "/system/system_ext/priv-app/SystemUI/SystemUI.apk"],nativeLibraryDirectories=[/system/system_ext/priv-app/SystemUI/lib/arm64, /system/lib64, /system/system_ext/lib64, /system/product/lib64, /system/lib64, /system/system_ext/lib64, /system/product/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at ax.nd.universalauth.xposed.Module.handleLoadPackage(Module.java:60)
    at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(Unknown Source:2)
    at de.robv.android.xposed.callbacks.XC_LoadPackage.call(Unknown Source:6)
    at de.robv.android.xposed.callbacks.XCallback.callAll(Unknown Source:26)
    at E.afterHookedMethod(Unknown Source:207)
    at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147)
    at LSPHooker_.getClassLoader(Unknown Source:8)
    at android.app.LoadedApk.getResources(LoadedApk.java:1374)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:3090)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:3082)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6650)
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
[ 2023-03-22T23:20:54.514    10144:  2381:  2381 I/LSPosed-Bridge  ] We tried an alternative class but that failed too:
[ 2023-03-22T23:20:54.514    10144:  2381:  2381 E/LSPosed-Bridge  ] java.lang.NoSuchMethodError: com.android.systemui.statusbar.phone.CentralSurfaces#start()#exact
    at de.robv.android.xposed.XposedHelpers.lambda$findMethodExact$3(Unknown Source:6)
    at de.robv.android.xposed.XposedHelpers.h(Unknown Source:0)
    at de.robv.android.xposed.d.get(Unknown Source:13)
    at java.util.Optional.orElseThrow(Optional.java:404)
    at de.robv.android.xposed.XposedHelpers.findMethodExact(Unknown Source:25)
    at de.robv.android.xposed.XposedHelpers.findAndHookMethod(Unknown Source:27)
    at ax.nd.universalauth.xposed.Module.hookStatusBar(Module.java:93)
    at ax.nd.universalauth.xposed.Module.handleLoadPackage(Module.java:67)
    at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(Unknown Source:2)
    at de.robv.android.xposed.callbacks.XC_LoadPackage.call(Unknown Source:6)
    at de.robv.android.xposed.callbacks.XCallback.callAll(Unknown Source:26)
    at E.afterHookedMethod(Unknown Source:207)
    at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147)
    at LSPHooker_.getClassLoader(Unknown Source:8)
    at android.app.LoadedApk.getResources(LoadedApk.java:1374)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:3090)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:3082)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6650)
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
[ 2023-03-22T23:20:54.515    10144:  2381:  2381 I/LSPosed-Bridge  ] Failed to hook early unlock, early unlock hook will not work:
[ 2023-03-22T23:20:54.515    10144:  2381:  2381 E/LSPosed-Bridge  ] java.lang.NoSuchMethodError: com.android.keyguard.KeyguardUpdateMonitor#updateFaceListeningState(int)#exact
    at de.robv.android.xposed.XposedHelpers.lambda$findMethodExact$3(Unknown Source:6)
    at de.robv.android.xposed.XposedHelpers.h(Unknown Source:0)
    at de.robv.android.xposed.d.get(Unknown Source:13)
    at java.util.Optional.orElseThrow(Optional.java:404)
    at de.robv.android.xposed.XposedHelpers.findMethodExact(Unknown Source:25)
    at de.robv.android.xposed.XposedHelpers.findAndHookMethod(Unknown Source:27)
    at ax.nd.universalauth.xposed.Module.addHookEarlyUnlock(Module.java:160)
    at ax.nd.universalauth.xposed.Module.handleLoadPackage(Module.java:78)
    at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(Unknown Source:2)
    at de.robv.android.xposed.callbacks.XC_LoadPackage.call(Unknown Source:6)
    at de.robv.android.xposed.callbacks.XCallback.callAll(Unknown Source:26)
    at E.afterHookedMethod(Unknown Source:207)
    at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147)
    at LSPHooker_.getClassLoader(Unknown Source:8)
    at android.app.LoadedApk.getResources(LoadedApk.java:1374)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:3090)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:3082)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6650)
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
 

Attachments

  • LSPosed_2023-03-22T23_23_10.421606.zip
    875.4 KB · Views: 15
Sep 16, 2022
9
4
Google Pixel 4
Can't get it to work on my OP6 with LOS20 (currently running 20-20230221-NIGHTLY-enchilada). I have added Magisk (25200), enabled Zygisk + Denylist, added LSPosed (LSPosed-v1.8.6-6712-zygisk-release) and the latest versions (1.8) of Universal auth and Face Unlock. Enabled unrestricted access and set the accessibility option for Face Unlock.

The test works. Even faster enabled or disabled doesn't make a difference, it shows "looking for face" and "welcome" but doesn't unlock the phone (lock still shows) and i need to type my pin to unlock it...

Any thoughts?
same problem here OP6 (T) but running BlissRoms V16
 

dinasore

Member
Jul 21, 2022
5
2
Xiaomi Mi 6
Try, disabling "Auto dismiss Lockscreen" in the Face unlock app. It will now bypass pin, you just have to swipe to unlock. Hopefully a fix for auto dismiss is found soon!
Thanks for sharing. I found that

1. disabling "Auto dismiss Lockscreen" in the Face unlock app
2. in LOS 20.0, setting -> display ->screen timeout -> disable Screen Attenetion

Then the screen luck will be able to unlock, but still need to swipe as well.
 
  • Like
Reactions: Datastream33

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    I have successfully installed and unlocked the face, but I have to turn off the automatic dismiss lock screen. If I turn it on then face unlock doesn't work.
    1
    I'm using this on an Android 10 device (Sony Xperia) and it doesn't actual unlock the screen. I've tried disable the "auto dismiss" option but it makes no difference. Enrolling the face and text on lockscreen works fine though, it just doesn't do anything.

    Anyone have any good suggestions what I can do? I thought about using AutoInput but seemingly I can't make that work either. Only option seem to be macrodroid but its a bit of a clunky solution.
    try an older apk. maybe new apks that were changed to work on qpr1 and 2 broke something for older devices. by newer apk i mean the apk for universal auth xposed module. not the face unlock app
  • 51

    UniversalAuth: Face Unlock for all ROMs​


    This module brings face unlock (and possibly other authentication methods) to any ROM.

    face-unlock.gif


    Requirements​

    - Xposed/EdXposed/Lsposed
    - Android 11, 12 or 13 DP (may also work on Android 10, but not tested)

    Installation​

    1. Download the "universalauth-xposed-release.apk" file and install it. Enable the xposed module and reboot.
    2. Download the "faceunlock-release.apk" file and install it.
    3. A new app called "Face unlock" should now appear, open it.
    4. Allow the app to download the face unlock libraries when asked.
    5. Grant the app permission to unlock your phone when asked.
    6. Enable the accessibility service when asked.
    7. Press the "START SETUP" button to enroll your face. The app will ask you to grant it camera permissions, make sure to select "allow while using the app" if that option is available.
    8. Lock your phone and test that you are able to use face unlock!

    Downloads​

    Here: https://github.com/null-dev/UniversalAuth/releases/latest

    Future plans​

    The plan is to add more authentication methods, I'm working on Blackberry's picture password next.

    Source code​

    20
    Alright, I'm finally back, I've made some changes to the Xposed module, if you are on Android 13 and it doesn't work, give this APK a shot as it should fix the issues. Please let me know if it works!
    13
    Version 1.5:
    • Attempt to fix the issues that some users are having with the accessibility service (doubt it will actually fix the issue as I have no idea why it's happening)
    • Add support for "Even faster face unlock" to Android 12L+ ROMs
    • Allow user to choose whether or not they want to bypass the lockscreen
    • Add option to hide status text on lockscreen
    Downloads have been updated on Github.

    If you were having issues with the "Even faster face unlock" option, please try the new release and let me know if it's still not working.
    9
    Sorry for the lack of updates, I've been super busy lately. I'm currently trying to fix this on Android 13 but I don't have an Android 13 phone unfortunately and getting a rooted emulator up is very painful. Can someone who is experiencing problems send me a log?

    Here's how to do it: Go to LSposed, go to the log section and hit the save button in the top right. Then attach the log in your post.
    6
    I've got this running on my pixel 6a on latest A13 update. Here's a screenshot of a macro I found in macrodroid that helps with not having to swipe the screen to open the phone. I only just started testing this but so far it's working well. Thanks op for the great app.