With Flutter 1.5 this is enforced and we get lots more crashes. It seems
like the docs have always said this was a bad idea, and I seem to have
missed it.
Instead use the c-lib for the ssh keygeneration. This should reduce our
APK size a little bit, but most importantly we'll be using the exact
same code for osx and android.
The Android Support Library is not androidx
https://developer.android.com/jetpack/androidx
This also required me to update each of the dependencies, as the
androidx migrated has resulted in major version changes in most of the
libraries.
This also attaches the entire 'adb logcat' in Android. This way, we can
hopefully get useful info about why something is not working.
This currently breaks the build as we need to migrate to Android X
This reverts commit 87aa6f7e5088ecad2c8926855057836891786a85.
Apparently one cannot publish debuggable APKs in the PlayStore. I wanted
this to be able to ask users to send me the logs via 'logcat', but it
seems I will have to figure out some other way.
libssh is LGPL licensed, which means I would need to re-license the
entire app since we are linking against it statically. I could
dynamically link against it, but since I was only trying to use it for
key-generation and that doesn' seem to be working, I may as well discard
it.
For now, I'm going to stick with jsch for the key generation. On ios
side, I'm not sure what I will do. One option could be to compile
openssh and call the ssh-keygen binary.
This way we can easily test it outside of Android. Strangely enough this
doesn't work on Android or osx for me. It only seems to work in an
ubuntu linux container.
It's not perfect as our implementation of git pull results in an extra
merge commit and doesn't handle conflicts properly, but it is a basic
implementation, so at least we have something.
This will allow us to remove the jgit dependency. JGit is annoying
because we have to use an old version in order to support older API
versions. Additionally, there are some subtle differences in their
implementation.
Finally, for iOS and desktop we will be using libgit2, so we may as well
use the same stack on Android.
This reverts commit 72b30688b482058ba628fdb163e4957f553e77ce.
The release app is crashing because of this. It's not worth the
space saved by a few megabytes.
I want to stop using jgit and instead of libgit2 instead. I feel far
more confident with the latter, and I need to use it for ios anyway.
Currently I cannot use the latest version of jgit as that requires a
higher minSDKVersion, and I want to target older android devices as
well.