Closed
Bug 888391
Opened 11 years ago
Closed 11 years ago
[AppEng] Synthetic APKs
Categories
(Firefox for Android Graveyard :: Web Apps (PWAs), defect, P1)
Tracking
(relnote-firefox 29+)
RESOLVED
FIXED
Firefox 29
Tracking | Status | |
---|---|---|
relnote-firefox | --- | 29+ |
People
(Reporter: elan, Assigned: jhugman)
References
Details
(Whiteboard: A4A)
To provide the most native user experience possible, we are going to proceed with synthetic APKs.
Reporter | ||
Updated•11 years ago
|
Whiteboard: A4A
Reporter | ||
Comment 1•11 years ago
|
||
(Basics)
1)Install host/package web app
* from seperate download
* from assets
2) Update webapp
* TBD
3) Find Runtime
4) Display webapp permission on install (manifest 2 manifest)
5) Start Synthetic APK from runtime (push/alarms)
6) Lifecycle (killed in background, uninstall)
Updated•11 years ago
|
Comment 2•11 years ago
|
||
Caitlin Galimidi wrote:
> Depends on: 876965
Caitlin: can you give me access to this bug? It's hard to satisfy a dependency I'm not allowed to access!
Updated•11 years ago
|
Summary: [Meta] Synthetic APKs → [AppEng] Synthetic APKs
Updated•11 years ago
|
Comment 3•11 years ago
|
||
BenB: I read through bug 948465, and it doesn't seem like a blocker for Synthetic APKs, so I'm going to remove it from this meta-bug's dependencies, as this bug is just for blockers to the initial implementation of synthetic APKs.
But please let me know if there's a reason why that bug is necessary for Synthetic APKs to work. (Either way, I've cc:ed myself to the bug and will track its progress in case there's a way I can use it to improve Synthetic APKs.)
No longer depends on: 948465
Comment 4•11 years ago
|
||
myk: I don't know what precisely is meant with "Synthetik APKs", given that this bug doesn't have a clear description.
I'm assuming it's about taking a packaged webapp and generating an APK for it, whereby the APK contains both the webapp and the engine (GeckoView). I hope that this is the goal of this bug, because this is badly needed to foster web APIs as platform for mobile apps on Android.
If not with bug 948465, I wouldn't know how else a packaged webapp should work. The HTML/JS/JPGs need to be packed into the APK (-> assets) and loaded as URL into Gecko somehow (-> standard URKL for assets, i.e. bug 948465). Placing them in assets/ and loading them via file://android_asset/ (or file://webapp/ , if you prefer) seems like the natural way to do it.
At least, when I tried to package a webapp as APK using GeckoView, I needed bug 948465.
Comment 5•11 years ago
|
||
Maybe what I'm thinking about is bug 835405, but not sure.
Comment 6•11 years ago
|
||
(In reply to Ben Bucksch (:BenB) from comment #4)
> myk: I don't know what precisely is meant with "Synthetik APKs", given that
> this bug doesn't have a clear description.
> I'm assuming it's about taking a packaged webapp and generating an APK for
> it, whereby the APK contains both the webapp and the engine (GeckoView). I
> hope that this is the goal of this bug, because this is badly needed to
> foster web APIs as platform for mobile apps on Android.
That isn't the goal of this bug. Synthetic APKs is a reimplementation of the Web Runtime for Android that packages webapps into APKs that use an existing installation of Fennec to run the apps. So the APKs don't include GeckoView, nor do they require that Fennec itself be built on GeckoView. And the project supports both packaged and hosted apps.
> If not with bug 948465, I wouldn't know how else a packaged webapp should
> work. The HTML/JS/JPGs need to be packed into the APK (-> assets) and loaded
> as URL into Gecko somehow (-> standard URKL for assets, i.e. bug 948465).
> Placing them in assets/ and loading them via file://android_asset/ (or
> file://webapp/ , if you prefer) seems like the natural way to do it.
> At least, when I tried to package a webapp as APK using GeckoView, I needed
> bug 948465.
That may well be true! I'm not familiar with the GeckoView project, so I can't say. I just want to make sure we track the right dependencies for each project. And that bug isn't necessary for Synthetic APKs, even if it's necessary for GeckoView. So let's continue to track it as a dependency of the GeckoView meta-bug 880107 but not as a dependency of this bug.
Comment 7•11 years ago
|
||
All dependencies resolved, so resolving this meta-bug.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment 8•11 years ago
|
||
OK, so how *do* you load the webapp into Fennec, then? Where is the content stored (in assets?) and which URLs do you use for them?
> Synthetic APKs is a reimplementation of the Web Runtime for Android that packages webapps
> into APKs that use an existing installation of Fennec to run the apps.
That sounds very useful. Do the webapp APKs ensure that there is a Fennec installed, i.e. check and if not, offer a one-click install of Fennec? Or do you just assume that Fennec is there, and the user won't delete it either?
Comment 9•11 years ago
|
||
(In reply to Ben Bucksch (:BenB) from comment #5)
> Maybe what I'm thinking about is bug 835405, but not sure.
Bug 835405 is also specific to the Web Runtime for Android and unrelated to GeckoView. Meta-bug 880107, which tracks the "GeckoView embedding work", seems like the right bug to track the work being done in bug 948465, and it already depends on that bug, so I think we're golden.
(In reply to Ben Bucksch (:BenB) from comment #8)
> OK, so how *do* you load the webapp into Fennec, then? Where is the content
> stored (in assets?) and which URLs do you use for them?
Let's take this conversation out of the meta-bug so we don't include everyone who is only cc:ed to this bug in order to track the progress on implementing the feature. I'll email you separately with answers to your questions.
Updated•11 years ago
|
Target Milestone: --- → Firefox 30
Reporter | ||
Comment 10•11 years ago
|
||
We are shipping a new runtime in Fx29 with APK Factory support in Marketplace.
relnote-firefox:
--- → ?
Target Milestone: Firefox 30 → Firefox 29
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•