NCTU Servo Android Browser MVP
Building a front-end prototype for servo on Android.
Meta issue page on GitHub: https://github.com/servo/servo/issues/15776
Members
Students
Mentors
Coordinator
The process
- Find/file a bug to https://github.com/servo/servo
- Fork servo/servo
- Start hacking
- Submit a pull request
- A bot will find you an reviewer
- If the reviewer is not responding, ask on IRC or ping me (Shing)
- Reviewer will ask you to modify your code (if necessary)
- modify it, commit to your branch, push to your fork directly
- The change will show up in the pull request
- The reviewer will check again
- Reviewer will give you an “r+” means it’s ready to go
- You might need to do a rebase
- Reviewer will tell the bot to do testing for you and merge the code if all passed
The goal
How to get help
Notes
Documenting significant events :)
Mar. 22, 2017
Things we did:
Issues encountered & Lessons learned:
- The run command depends on
adb
(Android Debug Bridge) and am
(Activity Manager)
TODOs:
- Find out what took place during
Mar. 7, 2017
Things we did:
Issues encountered & Lessons learned:
- .apk should be packaged using OpenJDK 8
- Currently, the Servo app crashes or blanks out on most webpages. Can browse to the frontpage of Mozilla but the stylesheets and images seem to be completely ignored
TODOs:
- Document and report minor issues related to building for Android
Mar. 6, 2017
Things we did:
- Setup a VM on VirtualBox, macOS Sierra
- Built servo for Android successfully on Kubuntu 16.10
Issues encountered & Lessons learned:
- Memory usage peaked at ~2.5G, so a minimum of 3G RAM is required for a successful build (encountered ICEs with rustc)
(Unresolved) Ubuntu 16.10 only provides OpenJDK 8 whereas packaging (ie. ./mach package
) depends on OpenJDK 7 -> It actually depends on OpenJDK 8 but for some reasons some .jar files were compiled with OpenJDK 7 and thus the imcompatibility.
- Ubuntu 16.04
TODOs:
- Document and report minor issues
- Test the build
Feb. 28, 2017
Things we did:
Issues encountered & Lessons learned:
- macOS not officially supported for Android builds
- NDK r12 or r12b is a must. Manual install is required
TODOs: