mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-04-28 12:17:57 +03:00
update README, update screenshot
This commit is contained in:
parent
9e786ce878
commit
e16a2ecc16
2 changed files with 32 additions and 15 deletions
47
README.md
47
README.md
|
@ -3,8 +3,14 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
instructions:
|
instructions:
|
||||||
(optional) `make clean && make`: remove build artifacts and recompile the project
|
`make`: compile everything (except dalvik, which is precompiled from https://gitlab.com/Mis012/dalvik_standalone)
|
||||||
`make run`: launch the demo app using the translation layer
|
`make run`: launch the demo app using the translation layer
|
||||||
|
|
||||||
|
screenshot:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
note: running two different apps at the same time is a bit of a hack, since the data directory path is currently hardcoded to `./data/` no matter the app
|
||||||
|
|
||||||
##### FAQ:
|
##### FAQ:
|
||||||
|
|
||||||
|
@ -13,30 +19,41 @@ Q:
|
||||||
some apps even use them for 99% of their functionality!
|
some apps even use them for 99% of their functionality!
|
||||||
|
|
||||||
A:
|
A:
|
||||||
yep, and that *can* be tackled, see https://github.com/minecraft-linux/mcpelauncher-linker
|
yep, and that *can* be tackled, see https://github.com/minecraft-linux/mcpelauncher-linker or https://github.com/Cloudef/android2gnulinux/
|
||||||
|
|
||||||
Q:
|
Q:
|
||||||
hey! this is so basic it's useless!
|
<del>hey! this is so basic it's useless!</del>
|
||||||
A:
|
A:
|
||||||
yup, we still need to do some proper reimplementing :)
|
yup, we still need to do some proper reimplementing :)
|
||||||
The PoC works-ish now, though it's much less complex than even a modern sample app.
|
<del>The PoC works-ish now, though it's much less complex than even a modern sample app.
|
||||||
For one, it doesn't use any of the complex compat layers, it just directly subclasses Activity.
|
For one, it doesn't use any of the complex compat layers, it just directly subclasses Activity.
|
||||||
Second, it uses only two basic UI elements (TextView and LinearLayout), and yes these are
|
Second, it uses only two basic UI elements (TextView and LinearLayout), and yes these are
|
||||||
the only ones implemented (and partially at that, only the absolutely required functionality).
|
the only ones implemented (and partially at that, only the absolutely required functionality).
|
||||||
Third, it doesn't do much - it just sets up it's static, non-changing UI (though it can process
|
Third, it doesn't do much - it just sets up it's static, non-changing UI (though it can process
|
||||||
a layout xml, as well as reflect changes to a TextView done in OnCreate)
|
a layout xml, as well as reflect changes to a TextView done in OnCreate)</del>
|
||||||
|
|
||||||
|
Q:
|
||||||
|
ok, so this can sorta run Gravity Defied. What's the catch?
|
||||||
|
|
||||||
|
A:
|
||||||
|
well, first things first, technically I compiled Gravity Defied myself and removed
|
||||||
|
some bug-reporting-init-related code which I got frustrated with stubbing out. however,
|
||||||
|
adding more stubs should make that unnecessary.
|
||||||
|
now for the second issue: `./data/` contains some stuff that should instead be read from the apk,
|
||||||
|
and some of this stuff is also externally converted (e.g Xml from binary form to actual Xml).
|
||||||
|
obviously this is not ideal for user experience. NOTE: it seems that the binary form *might* be
|
||||||
|
protobuf-based, which would make reading it directly easier.
|
||||||
|
and the third issue: Gravity Defied is still extremely simple compared to most android apps,
|
||||||
|
doesn't acknowledge compat layers, and the most intricate UI element is completely custom drawn
|
||||||
|
using the canvas interface, in a manner that makes it easy to implement with cairo.
|
||||||
|
|
||||||
##### Roadmap:
|
##### Roadmap:
|
||||||
|
|
||||||
first we need to gather a lot of volunteers, because the android abi is *huge*
|
- fix issues mention above
|
||||||
|
|
||||||
then we need to settle on language / UI toolkit.
|
- fix ugly hacks
|
||||||
|
|
||||||
I would like to shim stuff to C for performance, and use GTK 4 for UI - because
|
- implement more stuff (there is a lot of it, and it won't get done if nobody helps... ideally pick a simple-ish application and stub/implement stuff until it works)
|
||||||
that seems like a lot of fun, and we need to be honest with ourselves, why
|
|
||||||
would anyone help with this project if not for fun ;)
|
|
||||||
|
|
||||||
__UPDATE__:
|
- integrate e.g. https://github.com/Cloudef/android2gnulinux/ for loading libraries linked against bionic; if we're lucky,
|
||||||
|
we might be able to get quite a few apps running that are 99% native, since they hopefully only use a few Java APIs and might not even complain too much if most of those APIs are stubbed
|
||||||
- Started work on shimming stuff to C
|
|
||||||
- Use Gtk4 for displaying the app's GUI (see screenshot.png)
|
|
||||||
|
|
BIN
screenshot.png
BIN
screenshot.png
Binary file not shown.
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 241 KiB |
Loading…
Add table
Add a link
Reference in a new issue