jherkenhoff / qalculate-android

Powerful and versatile multi-purpose calculator for the Android platform

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

APK

keinezeit8 opened this issue · comments

Unfortunately I don't know how to compile an APK from source. Therefore it would be great if there was an ready made APK, that could be installed.

This could either be achieved by releases or with CI/CD.

Thanks for your interest. I will do so, once the app is in a more mature state :)

@keinezeit8 for now, if you'd like some warranty-free instructions:

GUI way:

(I haven't tested this one myself):

  1. Clone mr-kenhoff/libqalculate-android and mr-kenhoff/qalculate-android in the same parent directory
  2. Download Android Studio and open the qalculate-android project
  3. In the Build menu, select assemble
  4. Press the build button

CLI way

  1. Clone mr-kenhoff/libqalculate-android and mr-kenhoff/qalculate-android in the same parent directory
  2. Download the Android Commandline Tools and unzip them somewhere
  3. Run sdkmanager --sdk_root=/path/to/home/folder/.android-sdk "platforms;android-31"
  4. Set ANDROID_SDK_ROOT to the same /path/to/home/folder/.android-sdk you ran in step 3.
  5. Navigate to qalculate-android and run ./gradlew --parallel assembleDebug

@jherkenhoff will you please make a github release when you have a version you feel good about? I'm excited to start using this, so I've enabled notifications for releases on this repo

@jherkenhoff After a lot of trial and error, I could finally get libqalculate-android and qalculate-android to compile. And I must say it is amazing! Yes there is a lot of polishing to be done, but it already works very fine as-is, the parsing works flawlessly from my tests so it is totally usable.

I think that what you did with getting libqalculate to compile on Android is already amazing, and in and of itself it merits to get published online. I would strongly suggest to publish an apk and arr releases respectively for qalculate-android and libqalculate-android. I can take care of doing that if you want (I already have the releases ready - in debug mode). In addition, I would suggest to upload to an opensource online repository, such as IzzyOnDroid or F-Droid, as this can already be very useful for other users (it's fine to release softwares in alpha - as they say, done is better than perfect anyway), and this can potentially bring skilled contributors to further polish the UI to get closer to a beta or stable release.

I can take care of releasing in all these channels for you. Let me know otherwise if you don't want to, but really I must emphasize I think there are only upsides not just for this project but for users to get it in its current stage (and it can free up your time).

Also if you are looking for a maintainer, I am willing to maintain both packages. I am not experienced enough with C++ and SWIG and crosscompiling for different architectures as you are to develop the app further myself, but I can review PRs from other contributors, test them and merge. I am experienced in maintaining a lot of open-source softwares, with some being critical in their ecosystems.

I second this. And I highly commend your efforts @jherkenhoff. I would be very willing to help if I was experienced in android development and maintenance. But if I see somewhere I can help I will too.

Maybe you should make an automatic build using github actions? Not everyone here is an android developer, and even though the app isn't ready yet, the ability to download the apk directly from github can help with distribution and development.

Thanks for all your great tips and ideas!

@SoappGuy Following your comment I implemented a CI pipeline based on Github Actions. It uploads the APK as an asset, but I am afraid that people must be logged in to their Github Account for being able to download this. Can you maybe confirm and see if the app asset has a download button besides it?
https://github.com/jherkenhoff/qalculate-android/actions/runs/10131424372

Needing a Github account for downloading does not make sense, so I will probably also have to manually upload the APK to releases from time to time.

Yep! I can download the archive with the .apk file.

Is there any way to automate releases with Actions? I'm not sure if this will help, but I found this. If you still can't automate releases, you can add a note to the readme that one can download the .apk from Actions.

For me, the unzipped APK in the downloaded archive doesn't install on Android 14. It says "App not installed as package appears to be invalid". That said, these are good steps to having working distributions.

Thanks @SoappGuy and @pintert3 for testing!
The reason that you can not install the APK is beccause it is not signed and android does not let you install unsigned apps (which is a good thing). I am currently setting up a release into the f-droid repository, which then automatically handles CI and signing.

An APK is now available in release v1