czlucius / code-scanner

An Android app to scan and generate codes(barcodes/QR codes)
GNU Affero General Public License v3.0
40 stars 25 forks source link

Distribution #5

Open czlucius opened 3 years ago

czlucius commented 3 years ago

This app needs to be distributed to platforms and app stores to increase its reach

Suggested app stores:

Other app stores (requires decoupling of ML Kit):

czlucius commented 3 years ago

App has been distributed to the Galaxy Store. View here

czlucius commented 3 years ago

App tested on API 23 emulator without Google Play Services and worked. Packaged ML Kit library removes need for GMS, but ML Kit is still closed source, hence app cannot be published to F-Droid due to closed source third party libraries.

IzzySoft commented 3 years ago

For F-Droid, there are 3 show-stoppers currently:

Offending libs:
---------------
* Android Vision (/com/google/android/gms/vision): NonFreeDep
* Google Mobile Services (/com/google/android/gms): NonFreeDep
* ML Kit (/com/google/mlkit): NonFreeDep

3 offenders.

These libraries are not libre. Is it possible to have a build flavor coming without them, and not losing too much functionality that way? Or else, to replace them (I see #2 may be an attempt to that)?

czlucius commented 3 years ago

Yes, I plan to add a build variant removing the need for these non free dependencies in the future.

czlucius commented 3 years ago

I will solve this in the future(probably this year), but right now I do not have much time to fix this.

czlucius commented 3 years ago

On a side note, where did you find the first 2 dependencies in this repo? (Android Vision and GMS)? I can't seem to find them in the repo, only ML Kit is used (to my knowledge)

IzzySoft commented 3 years ago

I didn't find them in the repo, but in the resulting APK file. The above is quoting results from my own library scanner, used by F-Droid's issuebot and in my repo as well. If you want to use it for yourself, the one from issuebot can be used more-or-less stand-alone (less dependencies than the full-fledged one I use), dependencies and an example call are contained at the head of the file (libsmali-java/testing seems to be required by the issuebot framework only, as the script works perfectly fine here without that package).

And to explain: those two are dependencies drawn in by the third. MLKit is based on Vision which in turn requires GMS, as you can tell by its package name.

czlucius commented 3 years ago

Thanks

czlucius commented 2 years ago

Code Scanner is now available on F-Droid through a custom repository.

Add https://czlucius.gitlab.io/czlucius-fdroid-repo/fdroid to the list of repositories in the F-Droid app.

czlucius commented 2 years ago

I will refactor the code to use zxing(for scanning) in the future so that it can be added to F-Droid's main repo, but I do not have the time now. Thanks

czlucius commented 2 years ago

ZXing returns scanned data as plain text, unlike ML Kit which provides it in structured form.

I'm trying to write a library to parse this data so I can detect the data types (e.g. URL, VCF, Email)

https://github.com/czlucius/codes-data-parsing