Repository navigation
Releases: Computershik73/megler-w10m
Release list
Megler 0.1.0.581
Megler 0.1.0.581: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.580
- Go libraries read the clock without a fault. Go's runtime reads its clocks thousands of times a second. Through the system call that was each time a processor fault, which Megler answers from its fault handler. Megler now gives apps a vDSO, the small library the Linux kernel provides for this, and Go reads the clock through it directly. This is the case for WhatsApp's Psiphon tunnel. Under Megler's test system, WhatsApp's Go library made 270 of these calls in its first three seconds; now it makes none.
- Go libraries built for Android get their start-up information. They read
/proc/self/auxv, which Megler did not have: the page size, the random bytes Go starts from, the processor's features, and the vDSO. It is there now. - Two more calls Go makes directly,
brkandcapget, are answered.
Known issues
- Google Play services 26.41.30 in this package is built for 64-bit phones:
- Three of its libraries are not there for 32-bit ARM (
libleveldbjni,libAppDataSearch,libisolation_mgr_jni), and what needs them in Play services does not work. - Some modules it downloads for itself, such as AppSearch and ML Kit's text recognition, come from Google Play for 64-bit phones only, and Play services refuses them.
- Three of its libraries are not there for 32-bit ARM (
- WhatsApp with the fixes of 0.1.0.579 to 0.1.0.581 has not been checked on a phone yet.
- Some Play Store downloads run at about 300 KB/s (WhatsApp's, on an HP Elite x3, where others ran at several MB/s); this is being looked into.
- Aliucord (the Discord mod) does not start: its hooking library (LSPlant) needs Android's own runtime, ART.
- Old games with Google's old ads (Flappy Bird) end at start with microG, whose ads answer nothing: install Google Play services from the Library.
- Some newer Unity games (Sonolus) can end at start; please send the APK.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on and its Authentication off (Settings › Update & security › For developers). Megler installs apps through the Device Portal, and installs nothing until it answers. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.581_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.581_ARM.appx 8422670434ccc12fcad090709280f481691a3108f027d4cfa06421956d9bdbb6, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.580
Megler 0.1.0.580: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.579
- WhatsApp's built-in proxy (Psiphon) has what it needs to run. WhatsApp sets up Psiphon's tunnel, a Go library, as it starts. Go's packages call the kernel directly, without Android's C library, for the network and for files. Megler now answers those calls: sockets (connect, listen, accept, send, receive, their options), reading and writing a file at an offset, file locks, syncing, growing a file, reading a directory, and the limits. Checked on Megler's test system with a test that makes these calls the way Go does. Not yet checked with WhatsApp on a phone.
- A file mapped into memory shows what is written to it afterwards. Some databases read their file through a memory mapping and write it with ordinary file writes: Bolt (which Psiphon uses), LMDB, and SQLite when it is set to use memory mapping. They saw the file as it was when they mapped it, and so missed what they had just written. Every such mapping is now kept up to date as the file is written.
getrlimit64reported its limits wrongly: half of each 64-bit value was left as whatever was there before. Fixed.
Known issues
- Google Play services 26.41.30 in this package is built for 64-bit phones:
- Three of its libraries are not there for 32-bit ARM (
libleveldbjni,libAppDataSearch,libisolation_mgr_jni), and what needs them in Play services does not work. - Some modules it downloads for itself, such as AppSearch and ML Kit's text recognition, come from Google Play for 64-bit phones only, and Play services refuses them.
- Three of its libraries are not there for 32-bit ARM (
- WhatsApp with these fixes (and 0.1.0.579's) has not been checked on a phone yet.
- Some Play Store downloads run at about 300 KB/s (WhatsApp's, on an HP Elite x3, where others ran at several MB/s); this is being looked into.
- Aliucord (the Discord mod) does not start: its hooking library (LSPlant) needs Android's own runtime, ART.
- Old games with Google's old ads (Flappy Bird) end at start with microG, whose ads answer nothing: install Google Play services from the Library.
- Some newer Unity games (Sonolus) can end at start; please send the APK.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on and its Authentication off (Settings › Update & security › For developers). Megler installs apps through the Device Portal, and installs nothing until it answers. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.580_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.580_ARM.appx 5b7846ca87efb689fdd45e98130af66949475c254270eb4b6d244c1e95dc68ba, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.579
Megler 0.1.0.579: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.578
- WhatsApp no longer ends at its start. Installing it from Play Store works since 0.1.0.577 (checked on a phone: Play Store downloaded it, Megler made its package and installed it), but it then ended at once in its Go library (
libgojni.so, "access violation ... address 00000018"). Go's runtime installs its signal handlers itself and stops when one is refused, and Megler refused them; it also calls the kernel directly for its sleeps, signal masks, memory and network waits, which Megler did not answer, and it looks for the process's start-up data where Megler did not put it. All of that is fixed, for any app with a Go library. Checked with WhatsApp's own library on Megler's test system, not yet on a phone. - Libraries that keep data in Android 10's thread slot for apps (Go does) find it empty, as on Android, instead of Megler's own data there.
Known issues
- Google Play services 26.41.30 in this package is built for 64-bit phones: three of its libraries are not there for 32-bit ARM (
libleveldbjni,libAppDataSearch,libisolation_mgr_jni), and what needs them in Play services does not work. - Some Play Store downloads run at about 300 KB/s (WhatsApp's, on an HP Elite x3, where others ran at several MB/s); this is being looked into.
- Aliucord (the Discord mod) does not start: its hooking library (LSPlant) needs Android's own runtime, ART.
- Old games with Google's old ads (Flappy Bird) end at start with microG, whose ads answer nothing: install Google Play services from the Library.
- Some newer Unity games (Sonolus) can end at start; please send the APK.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on and its Authentication off (Settings › Update & security › For developers). Megler installs apps through the Device Portal, and installs nothing until it answers. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.579_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.579_ARM.appx e0225e7bf8f85d3dfee2f4460f07ae3aa7520627fef7e202ca7bfccc5f6ae990, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.578
Megler 0.1.0.578: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.577
- Google Play services' databases are locked between apps. Every app runs its own copy of Google Play services, and all of them share its databases. Megler locked a database only within one app, so an app suspended in the middle of a write could have its write rolled back, or written over, by another app, which may be why Play services' settings database reported a missing table ("no such table: Packages") in several apps. Databases are now locked on the file, as SQLite does on Android, and another app waits for the lock.
- An app being suspended lets its databases go first: Megler waits up to a second for its writes to finish, so that a suspended app does not keep the others waiting.
Known issues
- Google Play services 26.41.30 in this package is built for 64-bit phones: three of its libraries are not there for 32-bit ARM (
libleveldbjni,libAppDataSearch,libisolation_mgr_jni), and what needs them in Play services does not work. - Aliucord (the Discord mod) does not start: its hooking library (LSPlant) needs Android's own runtime, ART.
- Old games with Google's old ads (Flappy Bird) end at start with microG, whose ads answer nothing: install Google Play services from the Library.
- Some newer Unity games (Sonolus) can end at start; please send the APK.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on and its Authentication off (Settings › Update & security › For developers). Megler installs apps through the Device Portal, and installs nothing until it answers. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.578_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.578_ARM.appx 6efcd43b340a9c0d480a1a5fe1a2e05b163a2ca8b247649d248808bf631953dc, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.577
Megler 0.1.0.577: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.576
- Play Store could not install WhatsApp: "Megler installs through the phone's Device Portal, which did not answer". Megler started or woken by an app's request (Play Store's request to uninstall the WhatsApp installed before, then to install the new one) had not asked the Device Portal yet, and turned the install down at once. It now asks the portal first and installs when it answers; Play Store waits meanwhile.
- Google Play services' modules are installed. Play services puts each of its modules (ads, analytics, Cast, Cronet and more) in a folder of its own and renames the folder with the module's APK open in it, which Windows refuses ("Failed to stage: AdsDynamite"). Megler now moves such a folder an entry at a time, as Linux renames it. Apps that show Google's ads, cast or use Play services' network stack can now get them.
- Pyaterochka: signing in ended with "No responseUri present". The sign-in screen saves where the server sent it back to as it closes. Megler destroyed the closed screen at once, which cancelled the save. A closed screen now goes after the one below it has been drawn again, as on Android.
- Gmail and Google's other apps: Google Services Framework's subscribed feeds could not start (
NoSuchMethodErrorinSSLCertificateSocketFactory.getHttpSocketFactory), for Android's old Apache HTTP client. - Sberbank: reports went out empty.
Base64OutputStreamandBase64InputStreamwere stubs that wrote and read nothing; they now encode and decode. - 2GIS starts: an app whose activity names its native library without being a NativeActivity (Qt's) was run without its Java code.
- TikTok Lite starts: its loader opens and writes its libraries with system calls by number (
open,read,write,fstat64and the rest), which Megler now answers. - Google Maps:
syncfsanswered; Play services' memory metric findsVmHWMin/proc/self/status. - Cast and other mDNS discovery: Play services can bind port 5353 beside the phone's own mDNS (it failed with
EADDRINUSE).
Known issues
- Google Play services 26.41.30 in this package is built for 64-bit phones: three of its libraries are not there for 32-bit ARM (
libleveldbjni,libAppDataSearch,libisolation_mgr_jni), and what needs them in Play services does not work. - Every app runs its own copy of Google Play services, and all of them share its databases; Megler does not lock them between apps yet, which may be why Play services' settings database sometimes reports a missing table ("no such table: Packages").
- Aliucord (the Discord mod) does not start: its hooking library (LSPlant) needs Android's own runtime, ART.
- Old games with Google's old ads (Flappy Bird) end at start with microG, whose ads answer nothing: install Google Play services from the Library.
- Some newer Unity games (Sonolus) can end at start; please send the APK.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on and its Authentication off (Settings › Update & security › For developers). Megler installs apps through the Device Portal, and installs nothing until it answers. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.577_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.577_ARM.appx 28173022c7e18b49dd67886dfb1bdcff52554499eba8342ac7f3120c100cfea6, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.576
Megler 0.1.0.576: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.575
- Play Store downloads, and everything else that waits, faster. Megler woke every waiting thread of an app at every change of any descriptor: a network packet, a write to a pipe, a message to a Looper. Play Store with Google Play services has dozens of such threads, and each QUIC packet of 1.3 KB woke them all, so apps downloaded at 230–290 KB/s on a fast Wi-Fi. Each thread now waits only for what it waits on. In Megler's tests, 2000 hand-offs between two threads while 32 other threads waited took 1.76 s; now 0.12 s. Apps' messages and frames gain too: every one of them woke every waiting thread as well.
- "Not a ZIP archive (no end record)" for Google Play services in the Library. At its first start Megler copies its built-in Google Play services (266 MB) and Play Store into the Library. A copy cut short (Megler left or closed while it copied, or the phone full) stayed half-written for good, and Google Play services could not be installed. Copies now go through a temporary file, and a broken copy is made again when Megler starts: update, start Megler, and keep it open for a minute. Do not remove the broken entry from the Library first.
- microG: apps could not get the Google accounts (Classroom: "UID [10100] is not related to packageName [com.google.android.gms]"). A content provider is now told its caller is the app.
- Megler's messages about the Device Portal say to turn the portal's Authentication off: Megler asks the portal on the phone itself, without a user name and password.
Known issues
- Google Play services 26.41.30 in this package is built for 64-bit phones: three of its libraries are not there for 32-bit ARM (
libleveldbjni,libAppDataSearch,libisolation_mgr_jni), and what needs them in Play services does not work. - Aliucord (the Discord mod) does not start: its hooking library (LSPlant) needs Android's own runtime, ART.
- Old games with Google's old ads (Flappy Bird) end at start with microG, whose ads answer nothing: install Google Play services from the Library.
- Some newer Unity games (Sonolus) can end at start; please send the APK.
- Instagram's "Continue with Google" ended a few seconds after Google answered that consent is needed; 0.1.0.574 fixed Google Play services' check-in, which failed in the same run. Please send the log if it still happens.
- The Telegram, Discord and Aliucord Manager fixes of 0.1.0.573 were made from users' logs and checked by Megler's tests, not yet on a phone with those apps.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on and its Authentication off (Settings › Update & security › For developers). Megler installs apps through the Device Portal, and installs nothing until it answers. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.576_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.576_ARM.appx e86afd05abb0176f70eeccd8e855b540dc1f6f65d81932c0a4e836069028511a, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.575
Megler 0.1.0.575: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.574
- Google Play Store: "Can't install the app" for every app, when Play Store itself was installed from a split bundle (
.apks,.xapk) rather than from Megler's Library. Play Store installs apps in a process of its own, and Megler looked for an app's native libraries in its other processes only in its base APK. A bundle has them in its split for 32-bit ARM, solibmappedcountercacheversionjni.sowas not found (Play Store's error 1000). An app's other processes now load its native libraries wherever its APKs have them, as its main process does.
Checked on a phone with 0.1.0.574: Google's own Google Play services registers the device, and signing in to Play Store and its front page work.
Known issues
- Google Play services 26.41.30 in this package is built for 64-bit phones: three of its libraries are not there for 32-bit ARM (
libleveldbjni,libAppDataSearch,libisolation_mgr_jni), and what needs them in Play services does not work. - Instagram's "Continue with Google" ended a few seconds after Google answered that consent is needed; Google Play services' check-in failed in the same run, which 0.1.0.574 fixed. Please send the log if it still happens.
- The Telegram, Discord and Aliucord fixes of 0.1.0.573 were made from users' logs and checked by Megler's tests, not yet on a phone with those apps.
- Instagram Lite builds of 2021 stop at start once Instagram's server turns on their new crash reporter: install the current Instagram Lite from Google Play.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on (Settings › Update & security › For developers). Megler installs apps through the Device Portal, and installs nothing until it answers. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.575_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.575_ARM.appx 5db3ec7711795ef2ff5462f51e9f65cd3798a13bd6678084ff939f51f3018f91, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.574
Megler 0.1.0.574: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.573
- Google Play Store: "Server error" with Google's own Google Play services. 573 answered the list of SIM subscriptions, and Google Play services' device registration (check-in) went further, then ended every time in Megler's key store: it makes a key with an attestation challenge and reads the key's certificate as an X.509 certificate, which Megler's was not (
ClassCastException). Without a check-in Play Store has no Android ID, and Google's server refuses it.- Megler's key store (
AndroidKeyStore) gives key pairs X.509 certificates, as Android does: self-signed with the key, with the subject, serial number and dates the app asked for. - A key asked for with attestation is refused as on a phone without hardware attestation (
ProviderException). Google Play services then registers the device without attestation, as it does on such a phone.
- Megler's key store (
- Apps that read their key's certificate from Android's key store as an
X509Certificateget one.
Known issues
- Instagram's "Continue with Google" ended a few seconds after Google answered that consent is needed; Google Play services' check-in failed in the same run, and this release may fix it. Please send the log if it still happens.
- The Telegram, Discord and Aliucord fixes of 0.1.0.573 were made from users' logs and checked by Megler's tests, not yet on a phone with those apps.
- Instagram Lite builds of 2021 stop at start once Instagram's server turns on their new crash reporter: install the current Instagram Lite from Google Play.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on (Settings › Update & security › For developers). Megler installs apps through the Device Portal, and installs nothing until it answers. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.574_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.574_ARM.appx b8afdc52943d733060f1ef0e65fed2e5dffdca60acbf2a637fbc35f16dc9e58e, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.573
Megler 0.1.0.573: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.570
Fixes for what users reported with 0.1.0.570:
-
Google Play Store: "Server error" on its front page after signing in, and "unable to connect" before the sign-in. Play Store never got an Android ID, so Google's server refused its requests (a VPN made no difference):
- with Google's own Play services, their device registration (check-in) ended every time on a null list of SIM subscriptions from Megler (
SubscriptionManager.getActiveSubscriptionIdList), which Android never returns; - with microG, device registration was off (microG's default), and Play Store read the Android ID from Google Services Framework's database instead of microG's.
Megler now answers an empty list. microG's device registration is on unless you turn it off in microG's settings. With microG, GServices is microG's own.
- with Google's own Play services, their device registration (check-in) ended every time on a null list of SIM subscriptions from Megler (
-
Google Play Store "has stopped" with
ClassNotFoundException: com.android.vending.AssetBrowserActivity. It happened when Play Store recreated its main screen after new server settings: an activity started through an alias is now recreated as the alias's target. -
Telegram: messages showed only their dates and avatars, without bubbles or text.
NinePatchDrawablehas Android's two other constructors, and Telegram builds its message bubbles with one of them. -
Telegram: Settings › Animations closed the app ("Cannot call this method while RecyclerView is computing a layout or scrolling"). A view animation's listener is now told after the frame, through the view's handler, as on Android, not inside the drawing.
-
Discord drew nothing.
- JNI
RegisterNativesnow looks for the method in the class's superclasses too, as Android does. React Native's Reanimated registers it that way. syscall()by number now makes pipes, epoll sets and eventfds (Discord's media engine).
- JNI
-
Aliucord Manager failed on "PatchIconsStep" with
NoSuchMethodError: java.util.Arrays.equals([BII[BII)Z.java.util.Arrayshas Android 13's comparisons of arrays and of their ranges (59 methods:equals,compare,compareUnsigned,mismatch). -
IntentFilter.matchCategoriesworks as on Android; Megler matches Google Play services' services with it.
New:
- Nothing is installed until the Device Portal is on. Megler installs every app through the phone's Device Portal. Picking or opening an APK, Install, Update All and an app's install request now say how to turn the portal on, with a button to the developers' settings, instead of failing halfway.
- Google Play Store starts only once Google Play services (built into Megler) is installed from the Library as an app of its own, and it always runs with them.
- The log names the Google Play services an app really runs with. Before, it said "Google's own" when microG's was used because Google's own was not installed.
Known issues
- Instagram's "Continue with Google" ends a few seconds after Google answers that consent is needed; it is being looked into.
- The Telegram, Discord and Aliucord fixes were made from users' logs and checked by Megler's tests, not yet on a phone with those apps. Please send the log if something still fails.
- Instagram Lite builds of 2021 stop at start once Instagram's server turns on their new crash reporter: install the current Instagram Lite from Google Play.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode with the Device Portal on (Settings › Update & security › For developers). Megler installs apps through the Device Portal. - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.573_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. In its Library, install Google Play services first, then Google Play Store; start Play Store from its tile, sign in with your Google account, and install apps from there.
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.573_ARM.appx 05f971b8a86c0010f393259f180ff06df186863ba7481f1526f2642d1bbc46a7, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.
Megler 0.1.0.570
Megler 0.1.0.570: Android apps on Windows 10 Mobile (ARM, 1703 and later).
What's new since 0.1.0.562
- Google sign-in in apps. Google Play services no longer refuses an app's Google sign-in with "Cannot delegate to Service with different signature": Google Play services and Google Services Framework now have a uid of their own, as on Android, so the consent screen's service is found to be Google's. Instagram's "Continue with Google" gets Google's answer instead of waiting on a grey screen.
- Instagram starts. Its main screen no longer ends at once ("Required value was null"):
Activity.isTaskRootis the lowest activity that is not finishing, as on Android, andFLAG_ACTIVITY_CLEAR_TOPpasses over activities that are finishing. - Play Store's sign-in. The WebView of Google's sign-in page no longer crashes right after the account is added: when another thread ends an OpenGL ES context (Google Play services probes OpenGL ES that way), the next drawing thread makes its own context current again before it draws.
- The screen stays on while Megler installs packages: an app's own package, each of Update All's, and Megler's own update from
Pictures\Megler. A phone that locked in the middle suspended Megler and the install ended with no result. - Google Services Framework is no longer listed in the library. It has no screen to start and is not installed as an app; Google Play services and the Play Store use it from the package, as before.
- For bug reports. The log says when Megler's UI thread has not answered for two, five and ten seconds, and where it stands. Two new trace flags for
LocalState\flags:trace-calls-within-<class prefix>(every call a method of such a class makes, three frames deep, with its result), and int and String[] values in all traced calls. - Tools.
tools/phone.pyfinds a phone's Device Portal on any port of the IP-over-USB service (a Lumia 650 has it on its own ports) and installs through it with--portal, the certificate along.
Known issues
- Instagram's "Continue with Google" ends a few seconds after Google answers that consent is needed; it is being looked into.
- Instagram Lite builds of 2021 stop at start once Instagram's server turns on their new crash reporter (
JavaCrashDetector), as they would on Android: install the current Instagram Lite from Google Play.
What is inside
| Megler | the shell, the core, Android 9's libcore and the Java framework (API 34), ANGLE (OpenGL ES on Direct3D 11) |
| WebView | Android System WebView, Chromium 128, drawn on the graphics processor |
| Google Play Store | 53.7.23 |
| Google Play services | 26.41.30 |
| Google Services Framework | from BiTGApps (Android 9) |
| microG Services | for apps set to microG in Settings › Google Services |
At its first start Megler's library lists Google Play Store and Google Play services; microG is ready for the apps you set to it.
Installing
- The phone must be interop-unlocked (Megler compiles code at run time, the
codeGenerationcapability) and in Developer mode (Settings › Update & security › For developers). - Install Megler.cer (below) as a trusted certificate: open it on the phone and install it. (Already done for an earlier Megler: the certificate is the same.)
- Install Megler_0.1.0.570_ARM.appx: open it on the phone, or use the Device Portal (Apps › Install app), or copy it with
Megler.cerinto the phone'sPictures\Meglerfolder, from which Megler installs the newest package when it starts. It is 373 MB; the phone needs about 1.5 GB free for it and the apps' first start. - Start Megler. Google Play Store is in the library: start it, sign in with your Google account, and install apps from there. An app can be made a Windows app of its own (its tile, its process).
- After updating Megler, press Update All in Megler before starting apps made Windows apps of their own.
Already have Megler? Install this package over it: the library and the apps' data are kept.
SHA-256: Megler_0.1.0.570_ARM.appx 8337cab74aaa03d3236f70e809b2e8034d8ba21573041a48a1b0541a9f86ff7e, Megler.cer 2006cd81efecffc0beb20960cd766b58cb675e627823f2961db23012973ad195.
Good to know
- Apps with 32-bit ARM code (
armeabi-v7a) or Java/Kotlin only run; apps with only 64-bit code do not (Windows 10 Mobile is 32-bit on every phone). - What works and what does not, app by app: docs/STATUS.md.
- The log (Megler › Log, or
megler.login each app's LocalState) says what an app does; send it with a problem.
Licenses
Megler is free software under the GNU General Public License version 3; its source is this repository at this tag. Google Play Store, Google Play services and Google Services Framework are Google's software, included as they are for the phone to run apps from Google Play. microG is under the Apache License 2.0. ANGLE is under the BSD license; Android's libcore, framework and WebView are under the Apache License 2.0 and Chromium's BSD-style license.