Cara Menambahkan Fitur Face Unlock di ROM MIUI 9

bamzzz 12:13 PM
faceunlock

Sejak hadirnya Mi Note 3 yang memiliki fitur Face Unlock, hal itu membuat beberapa opreker penasaran, bagaimana sih cara menambahkan fitur face unlock ini pada perangkat mereka. Disini saya akan buat tutorialnya.

TIDAK DAPAT DITERAPKAN DI ROM MIUI GLOBAL DEV MULAI DARI VERSI 7.12.28.
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/miuistatssdkshared.jar", zip file "/system/framework/gson.jar", zip file "/system/priv-app/MiuiKeyguard/MiuiKeyguard.apk"],nativeLibraryDirectories=[/system/priv-app/MiuiKeyguard/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libMegviiUnlock-jni-1.2.so"

Syarat:

Bahan:
  • lib-face-unlock -> Download
  • raw-MiuiKeyguard -> Download
  • MiuiSettings.apk (Ambil dari system/priv-app)
  • MiuiKeyguard.apk (Ambil dari system/priv-app)

Langkah-langkah:
  • Bagian MiuiSettings
Decompile MiuiSettings.apk
Cari text "jason" di seluruh smali yag ada di "\smali\com\android\settings"
Di ROM Global Dev 7.11.6 letaknya ada di "\smali\com\android\settings\fj.1.smali"

Di dalam method yang ada string "jason" tadi, cari:


return v0

Tambahkan ini diatasnya:


const/4 v0, 0x1

Hingga hasilnya akan seperti ini:


.method public static fF()Z
.locals 2

.prologue
.line 57
sget-object v0, Landroid/os/Build;->DEVICE:Ljava/lang/String;

const-string v1, "jason"

invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v0

if-eqz v0, :cond_0

sget-boolean v0, Lmiui/os/Build;->IS_INTERNATIONAL_BUILD:Z

if-nez v0, :cond_0

const/4 v0, 0x1

:goto_0
const/4 v0, 0x1

return v0

:cond_0
const/4 v0, 0x0

goto :goto_0
.end method

Recompile Settings.apk

  • Bagian MiuiKeyguard
Decompile MiuiKeyguard.apk
Salin file raw ke folder res, timpa file yang sudah ada.
Buka AndroidManifest.xml
Cari:



</application>

Tambahkan text ini diatasnya:


<activity android:excludeFromRecents="true" android:label="@string/face_data_input_title" android:name=".settings.MiuiFaceDataIntroduction" android:screenOrientation="portrait" android:theme="@style/Theme.Main"/>
<activity android:excludeFromRecents="true" android:label="@string/face_data_input_title" android:name=".settings.MiuiFaceDataSuggestion" android:screenOrientation="portrait" android:theme="@style/Theme.Main"/>
<activity android:excludeFromRecents="true" android:label="@string/face_data_input_title" android:name=".settings.MiuiFaceDataInput" android:screenOrientation="portrait" android:theme="@style/Theme.Main"/>
<activity android:excludeFromRecents="true" android:label="@string/face_data_introduction_title" android:name=".settings.MiuiFaceDataManage" android:screenOrientation="portrait" android:theme="@style/Theme.Main"/>

Hingga hasilnya menjadi seperti ini:


<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:sharedUserId="android.uid.system" coreApp="true" package="com.android.keyguard" platformBuildVersionCode="23" platformBuildVersionName="6.0.1">
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.STATUS_BAR"/>
<uses-permission android:name="android.permission.DEVICE_POWER"/>
<uses-permission android:name="android.permission.MANAGE_USERS"/>
<uses-permission android:name="android.permission.MANAGE_APP_TOKENS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
<uses-permission android:name="android.permission.BIND_APPWIDGET"/>
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"/>
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN"/>
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
<uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="com.fingerprints.service.ACCESS_FINGERPRINT_MANAGER"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="com.miui.powercenter.permission.POWER_DATA"/>
<uses-library android:name="cloud-common.jar"/>
<application android:name="miui.external.Application" android:persistent="true" android:process="com.android.systemui" android:supportsRtl="true">
<uses-library android:name="miui-stat.jar"/>
<uses-library android:name="gson.jar"/>
<meta-data android:name="SupportTrackViewForLockScreenAd" android:value="true"/>
<service android:exported="true" android:name=".KeyguardService"/>
<service android:name="miui.maml.elements.MusicListenerService" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.MusicListenerService"/>
</intent-filter>
</service>
<activity android:excludeFromRecents="true" android:label="@string/face_data_input_title" android:name=".settings.MiuiFaceDataIntroduction" android:screenOrientation="portrait" android:theme="@style/Theme.Main"/>
<activity android:excludeFromRecents="true" android:label="@string/face_data_input_title" android:name=".settings.MiuiFaceDataSuggestion" android:screenOrientation="portrait" android:theme="@style/Theme.Main"/>
<activity android:excludeFromRecents="true" android:label="@string/face_data_input_title" android:name=".settings.MiuiFaceDataInput" android:screenOrientation="portrait" android:theme="@style/Theme.Main"/>
<activity android:excludeFromRecents="true" android:label="@string/face_data_introduction_title" android:name=".settings.MiuiFaceDataManage" android:screenOrientation="portrait" android:theme="@style/Theme.Main"/>

</application>
</manifest>

Buka /smali/com/android/keyguard/MiuiKeyguardUtils.smali
Cari:


.method public static isSupportFaceUnlock()Z

Lalu dalam method tersebut, cari:


return v0

Setelah ketemu, tambahkan ini diatasnya:


const/4 v0, 0x1

Hingga hasilnya menjadi seperti ini:


.method public static isSupportFaceUnlock()Z
.locals 2

.prologue
.line 239
sget-object v0, Lmiui/os/Build;->DEVICE:Ljava/lang/String;

const-string v1, "jason"

invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v0

if-eqz v0, :cond_0

sget-boolean v0, Lmiui/os/Build;->IS_INTERNATIONAL_BUILD:Z

if-nez v0, :cond_0

const/4 v0, 0x1

:goto_0
const/4 v0, 0x1

return v0

:cond_0
const/4 v0, 0x0

goto :goto_0
.end method

Recompile MiuiKeyguard.spk

  • Bagian Finishing
  1. Salin file lib ke dalam folder /system/lib64/
  2. Set seluruh permission filenya menjadi rw-r--r-- (0644)
  3. Salin MiuiSettings.apk dan MiuiKeyguard ke tampatnya masing-masing, set permission file menjadi rw-r--r-- (0644).
  4. Reboot System
  5. Selesai.

Cara Penggunaan:
Setelah menambahkan data wajah di Pengaturan -> Kunci layar & sandi -> Kelola data wajah
Coba kunci ponsel kamu, lalu hidupkan layar ponsel, arahkan ke wajah.

File yang sudah di modif (Global Dev 7.11.12):
FaceUnlock-bootloop.id.zip (Isinya: Settings.apk - MiuiKeyguard.apk - lib face unlock)

Screenshot:
faceunlock

faceunlock

faceunlock



Demikianlah artikel ini dibuat, semoga bermanfaat. Apabila ada pertanyan silahkan tinggalkan komentar.

Hasil compare MiuiKeyguard dari ROM Kenzo vs ROM Jason:
kenzovsjason


Referensi: MIUI Forum  | Mi Note 3 ROM | MIUIPRO

Artikel Terkait

Previous
Next Post »

72 comments

Write comments
Rizky Luhung
AUTHOR
November 10, 2017 at 1:58 PM delete

Password file modif nya apa yaa?

Reply
avatar
maz rohim
AUTHOR
November 18, 2017 at 9:26 AM delete

password zip nya apa mas?

Reply
avatar
bamzzz
AUTHOR
November 18, 2017 at 10:13 AM delete

This comment has been removed by the author.

Reply
avatar
bamzzz
AUTHOR
November 20, 2017 at 2:59 AM delete

This comment has been removed by the author.

Reply
avatar
aminah 0912
AUTHOR
November 20, 2017 at 9:33 AM delete

This comment has been removed by the author.

Reply
avatar
aminah 0912
AUTHOR
November 20, 2017 at 9:35 AM delete

Wah keren sekali fitur Facial Unlock pada smartphone xiaomi ini

Reply
avatar
bamzzz
AUTHOR
November 21, 2017 at 1:00 AM delete

Terima kasih atas kunjungannya :)

Reply
avatar
Arhy Moeha
AUTHOR
November 22, 2017 at 2:16 AM delete

work di miui 9 7.11.16 redmi note 4X gan ?

Reply
avatar
bamzzz
AUTHOR
November 22, 2017 at 8:21 AM delete

Klo takun bootloop, mod ulang aja sesuai tutorial.

Reply
avatar
Fendy Perdana
AUTHOR
November 22, 2017 at 1:05 PM delete

This comment has been removed by the author.

Reply
avatar
bamzzz
AUTHOR
November 22, 2017 at 3:25 PM delete

This comment has been removed by the author.

Reply
avatar
Denniz art
AUTHOR
November 23, 2017 at 9:11 AM delete

ada tutor video nggak
masih bngung

Reply
avatar
bamzzz
AUTHOR
November 23, 2017 at 3:56 PM delete

Gk bisa, itu mod base global dev 7.11.2, mod ulang aja sesuai tutorial

Reply
avatar
Zul Fiqri
AUTHOR
December 2, 2017 at 7:34 AM delete

Bang, password file modifnya apa? Btw, itu file buat apa gan? Maaf masih newbie

Reply
avatar
bamzzz
AUTHOR
December 2, 2017 at 8:06 PM delete

This comment has been removed by the author.

Reply
avatar
Orang Jelek
AUTHOR
December 2, 2017 at 9:51 PM delete

Ane ubek ko gak ada jason ya om,posisi eu 7.8.17 7.0
Barang kali ada clue,thnks

Reply
avatar
bamzzz
AUTHOR
December 3, 2017 at 5:30 AM delete

Ya jelas gk ada string "jason", cz Mi Note 3 aja blm rilis di 7.8.17.. :v
Minimal pakai rom 7.9.14 keatas.

Reply
avatar
December 6, 2017 at 11:05 PM delete

Password file zip nya apa bang?

Reply
avatar
December 7, 2017 at 10:51 PM delete

Belum lihat pw nya saya bang? Kok sudah di hapus

Reply
avatar
Unknown
AUTHOR
December 8, 2017 at 9:49 AM delete

This comment has been removed by a blog administrator.

Reply
avatar
bamzzz
AUTHOR
December 8, 2017 at 5:41 PM delete

This comment has been removed by the author.

Reply
avatar
Ghenk
AUTHOR
December 13, 2017 at 9:57 PM delete

Ane test di miui pro mido versi stable fc om

Reply
avatar
bamzzz
AUTHOR
December 14, 2017 at 6:01 AM delete

MiuiPro udh ada fitur face unlock nya, gk perlu pake mod ini lagi.

Reply
avatar
Rev
AUTHOR
December 21, 2017 at 12:47 AM delete

Itu yg facelock.zip itu tanpa otak atik lagi kah?

Reply
avatar
bamzzz
AUTHOR
December 21, 2017 at 5:32 AM delete

Yes, tinggal flash via twrp

Reply
avatar
Anonymous
AUTHOR
December 22, 2017 at 7:49 PM delete

bang bisa gk buat rom global stable ?
soalnya saya mau mod seperti tutorial gabisa di decompile apknya

Reply
avatar
bamzzz
AUTHOR
December 22, 2017 at 9:38 PM delete

Gk bisa. buat global dev aja

Reply
avatar
Anonymous
AUTHOR
December 22, 2017 at 10:51 PM delete

saya mau nambah di global stable kira kira bisa nggak?


trus maksut dari log ini apa? setiap decompile apk keyguard sama setting muncul error 16, tapi kalo buat apk lain bisa


[*] Decompiling MiuiKeyguard.apk
I: Using Apktool 2.3.0 on MiuiKeyguard.apk
I: Loading resource table...
I: Decoding Shared Library (miui), pkgId: 16
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: bin\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
Can't find framework resources for package of id: 16. You must install proper framework files, see project website for more info.
[*] ---> Error decompiling MiuiKeyguard.apk

Reply
avatar
bamzzz
AUTHOR
December 23, 2017 at 4:59 AM delete

GLobal stable masih miui 8, blm bisa nerapin mod ini. Kalau masalah decompile diatas, pastikan sudah import framework-res.apk, ext-framework-res.apk, miui.apk, miuisystem.apk, SmsExtra.apk.

Reply
avatar
Anonymous
AUTHOR
December 23, 2017 at 7:57 AM delete

oke thx gan decompile berhasil, tapi punya saya redmi note 4 udah ada global stable miui 9

Reply
avatar
bamzzz
AUTHOR
December 23, 2017 at 6:43 PM delete

Oh ya, bisa dicoba mod'y

Reply
avatar
Unknown
AUTHOR
December 27, 2017 at 1:46 PM delete

This comment has been removed by the author.

Reply
avatar
Kelana
AUTHOR
December 28, 2017 at 12:29 AM delete

idem 😅
minta pass nya mast 😂

Reply
avatar
Kelana
AUTHOR
December 28, 2017 at 12:49 PM delete

Matur tengkyu mast bamzz

Reply
avatar
bamzzz
AUTHOR
January 3, 2018 at 5:28 AM delete

This comment has been removed by the author.

Reply
avatar
al kautsar
AUTHOR
January 14, 2018 at 9:56 AM delete

bisa buat mi4 lte rom global dev gak?

Reply
avatar
bamzzz
AUTHOR
January 15, 2018 at 6:16 AM delete

Bisa, asal dibawah versi 7.12.28, kalo versi diatasnya blm bisa

Reply
avatar
Anonymous
AUTHOR
January 15, 2018 at 6:19 AM delete

Password nya apa gan?

Reply
avatar
January 16, 2018 at 7:38 AM delete

Ga ada update terbaru buat global dev 8.x.x gan?

Reply
avatar
bamzzz
AUTHOR
January 21, 2018 at 5:47 AM delete

This comment has been removed by the author.

Reply
avatar
January 22, 2018 at 1:08 AM delete

Buat semua xiaomi atau hanya mi note 3 gan?

Reply
avatar
bamzzz
AUTHOR
January 22, 2018 at 7:44 AM delete

All xiaomi device. Dibawah versi 7.12.28, diatas 7.9.14, versi global dev/china dev

Reply
avatar
Anonymous
AUTHOR
February 3, 2018 at 12:45 PM delete

Di build 8.2.1 si jason nya ngumpet dimana gan??

Reply
avatar
prasida it
AUTHOR
February 3, 2018 at 2:12 PM delete

password file-nya apa ya gan ?

Reply
avatar
bamzzz
AUTHOR
February 3, 2018 at 6:55 PM delete

TIDAK DAPAT DITERAPKAN DI ROM MIUI GLOBAL DEV MULAI DARI VERSI 7.12.28 sd yg terbaru

Reply
avatar
Anonymous
AUTHOR
February 16, 2018 at 6:53 AM delete

Bisa gk bt redmi 3s sy yg sd ad rom global stable miui 9.2.2.0

Reply
avatar
bamzzz
AUTHOR
February 17, 2018 at 5:35 AM delete

Khusus Global Dev 7.11.12

Reply
avatar
bamzzz
AUTHOR
February 17, 2018 at 5:36 AM delete

This comment has been removed by the author.

Reply
avatar

SIlahkan komentar EmoticonEmoticon