Support Android SQLite native classifier - #2106
Open
dvrdnz wants to merge 3 commits into
Open
Conversation
Add conditional runtime dependency for Android variant of SQLite.
Author
Additional end-to-end verification (Termux / Android aarch64)I also ran the complete registration and messaging flow on a real Termux/Android aarch64 environment using the resulting distribution: ./gradlew --offline -PandroidClassifier=android-aarch64 installDist
./build/install/signal-cli/bin/signal-cli --version
# signal-cli 0.14.8XDG_DATA_HOME="$HOME/.signal-cli-termux-test" \
./build/install/signal-cli/bin/signal-cli -a <ACCOUNT> register
# → requested CAPTCHA as expected
XDG_DATA_HOME="$HOME/.signal-cli-termux-test" \
./build/install/signal-cli/bin/signal-cli \
-a <ACCOUNT> register --captcha 'signalcaptcha://...'
XDG_DATA_HOME="$HOME/.signal-cli-termux-test" \
./build/install/signal-cli/bin/signal-cli \
verify <CODE>
XDG_DATA_HOME="$HOME/.signal-cli-termux-test" \
./build/install/signal-cli/bin/signal-cli \
-a <ACCOUNT> send -m "Test" <RECIPIENT>The message was successfully delivered. This verifies that the Android SQLite native artifact works through the actual |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add the Android native SQLite JDBC classifier to the Termux/Android runtime when the existing
androidClassifierGradle property is used.Changes
org.xerial:sqlite-jdbc:3.53.2.1as the regular compile/runtime dependency.natives-androidclassifier as a runtime-only dependency for Android builds.androidClassifierproperty introduced for Android JNI support.The additional artifact is:
It provides the Android-specific
libsqlitejdbc.soresources required by Xerial's SQLite loader.Behavior
Without
androidClassifier:With:
the distribution contains both:
The normal artifact continues to provide the Java API; the classifier provides the Android native libraries.
Validation
Verified on Termux / Android aarch64:
The resulting distribution contains both SQLite artifacts.
Runtime verification:
A JDBC
jdbc:sqlite::memory:test succeeds.signal-cli --versionsucceeds and the local account initialization path reaches the normal Signal registration flow without SQLite native-loading errors.The existing libsignal Android-classifier regression test also remains successful:
Scope
This change only adds the Android SQLite native runtime artifact. It does not introduce automatic Android detection and does not modify the SQLite loader.