-
-
Notifications
You must be signed in to change notification settings - Fork 838
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Fixes for running on Android #194
base: master
Are you sure you want to change the base?
Conversation
Looks interesting. However it will take some time for me to install some SDKs first. |
This patch broke compilation Stellarium on Windows. |
@DreamNik why you did change the GUI? |
Now it works :)
Now fixed. There were multiple "CustomProxy" classes all in global scope. Moved them into parent classes scope. Should be ok now.
Couple of reasons.
|
The one major problem, that I haven't tried to solve is touch and gestures. |
Ok, agree. Reverted that.
No murders here. Changes are made with compatibility in mind between both of the worlds. This means, that while looking basically the same on desktop, it should be automatically adjusted to phone by using QSS only.
That's Stellarium Mobile. But I wanted alongside fully-featured version. Well, maybe not so elegant and comfortable to use. In the last commits I've reverted the the previous changes. So, the most changes are on this screen: But how much better it's on android: If you don't like this layout, tell me. But the buttons at bottom are waste of vertical space, which is limited on almost all devices. |
What about starting to publish Android releases? |
@MasterPIC Alexander and I are no Android developers. I am interested in finding time to test this on my €100 7" Android 4.4 tablet, but have never installed anything related to Android development. And we both have daytime jobs. |
@gzotti And what about sharing somewhere in the meantime your current Android release? I'd like to have Stellarium working on my smartphone but I've no development experience on Android :( |
@MasterPIC There is no free "current Android release" by this team. Maybe it was not clear from above, but like you, " I'd like to have Stellarium working on my smartphone but I've no development experience on Android :(" You can fight through the instructions above and write your observations as complete beginner into the wiki to help other developers without any Android developing experience. Don't forget download URLs, instructions where to find commands in the IDE menus, whatever. If you also don't want to help, there is a very affordable Android release available in the Android store. |
Here you can download some current latest android builds: https://drive.google.com/open?id=1zP6JEOuF4vbsziwofh6mfUDt5HZKaSbh I'm using WQHD version (Samsung S7). If you using other lower resolution devices, you can try HD version. But this will likely to be unusable, dut to too large or too small GUI, but still launch and work. Android API version 16 required, so any Android since 4.1.x should work. This builds are from latest master branch, so bugs may apply :) |
@DreamNik Thank you so much! |
I just found star catalog updates not possible (libQt5Core.so: unauthorized access to libssl.so and libcrypto.so). Tested on Android 8.0.0. |
Thanks @DreamNik for the APKs. I tried the HD on my Phone. It works so far, but indeed the GUI is awkward/unusable. Buttons far too small to hit reliable, and GUI panels too large. |
@DreamNik a few observations of somebody not regularly using Android software:
I don't know whether all this can be solved with a tiny modification to the regular GUI, or would require a fully new build variant with STELLARIUM_GUI_MODE=Android which should be optimized for pure touch interaction (i.e., buttons of reasonable size, and obviously GUI panels with different layout to survive on mid-res screens). This may also require a few more main GUI buttons to replace keyboard hotkeys. This looks like a lot of work... |
Great job! It's running successfully on my LG G6. There are two things that could be fixed:
I have no other issues than these minor ones 😀 By the way, why does the app request microphone permission? |
This is probably due to indirect libraries; but it is indeed a little bit smelly. |
For those interested: https://doc.qt.io/qt-5/android.html |
@DreamNik |
Unfortunately, the question is not how to build WQHD but how to build HD version. |
Well, maybe I mix up. It seems that the difference between building HD and WQHD is on main.cpp? How to build a HD Ver? The WQHD is difficult to handle. |
I neither tried to run or saved the "HD" sources. |
Please, keep in mind, that last versions of this branch do not intended to change GUI in any way to be more usable on mobile platforms. Hitting some buttons (like "pin" buttons in bottom left corner) is practically impossible on most devices! But I've recently started implementing plugin for drag and pinch-to-zoom functionality to be able to zoom in into some part of screen and hit small GUI elements. Also, two more plugins are in development: GPS realtime position plugin and sensor fusion plugin. But these features are still in early stages of development, although basic functionality works ok. |
CMakeLists provides a STELLARIUM_GUI_MODE option (=> About GPS positioning, see what exists in the Location dialog. This is deliberately one-shot, though. For a cleaner history, please don't merge-in master, but rebase from master. |
Yes. Especially maintaining two separate GUIs.
Yes, that's first thing I did. There is QNmeaPositionInfoSource and libgps.
I never used that technique in production. Need some time to examine it... |
https://github.com/Stellarium/stellarium/wiki/Git-Contributor-Workflow It takes some learning, but is better in the long run. |
It was implemented in past time, but we removed this code, because Symbian is dead a long time ago. Plus not all elements of GUI and related logic is needed for mobile devices. |
This comment was marked as outdated.
This comment was marked as outdated.
Dec, 1 A buidling yml for android-armv7 compile here (cmake for android). artifacts apk here, test welcome: https://github.com/silas1037/stellarium/actions/runs/392382418 Dec, 25 Sorry for so busy to fix bugs on them so late. Openssl now works for downloading star catalogs. My 1080P device can show the lower toolbar fully. Anyway the widget ui is hard to use, maybe some day QML will be imported to it again for easier use. |
Hi @ultrapre
the main issue I noticed is the lower toolbar is not completely shown (in landscape mode too) and no scroll is possible so that not all the icons are visible. It's probably related to my screen resolution (1920*1080). Playing with GUI scaling doesn't help: toolbars are not affected by it. |
This comment was marked as outdated.
This comment was marked as outdated.
I've experimenting with touchpad style navigation now. Here is demo: I'm using "Back" key quick press to toggle "pan & zoom" and "interact" modes. |
Look cool. I merged your branch and built it but cannot toggled this mode, had feature pushed to repo? Artifacts apk shared welcome. |
This comment was marked as outdated.
This comment was marked as outdated.
These features are implemented as external plugins (sahred libraries). |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Great PR! Please pay attention to the following items before merging: Files matching
This is an automatically generated QA checklist based on modified files |
This comment was marked as outdated.
This comment was marked as outdated.
82ba574
to
65583a5
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Hi!
I've managed to adapt Stellarium to run on Android.
This is not a port, like Stellarium Mobile.
It's fully-featured Android version, with some minor fixes to source.
This pull contains fixes, that allows main source code to successfully compile and run on Android.
The main changes are:
The building is done NOT by using bundled CMakeList, since it requires some APK-bundling tools.
I've been using QtCreator and custom ".pro" files to successfully built Stellarium for Windows-x86, WIndows-x64, Android-armv7a, Android-x86.
Currently, i'm not including ".pro" files into this pull request.
Here's link, if someone would want to test:
https://drive.google.com/open?id=1Hh-tm-vt57A6Vb92_AxWld_Oj9TV90fx
To build: