fix(fdroid): drop Google Play Core so the scanner accepts the APK; prep v0.1.15
All checks were successful
ci / analyze (push) Successful in 1m5s
ci / test-commons-core (push) Successful in 37s
ci / test-app-seeds (push) Successful in 5m44s
site / deploy (push) Successful in 32s
release / play (push) Successful in 11m49s
release / fdroid_reference_armeabi_v7a (push) Successful in 22m20s
release / fdroid_reference_arm64_v8a (push) Successful in 23m16s
release / fdroid_reference_x86_64 (push) Successful in 22m11s
All checks were successful
ci / analyze (push) Successful in 1m5s
ci / test-commons-core (push) Successful in 37s
ci / test-app-seeds (push) Successful in 5m44s
site / deploy (push) Successful in 32s
release / play (push) Successful in 11m49s
release / fdroid_reference_armeabi_v7a (push) Successful in 22m20s
release / fdroid_reference_arm64_v8a (push) Successful in 23m16s
release / fdroid_reference_x86_64 (push) Successful in 22m11s
F-Droid's APK scanner rejected v0.1.14: 6 com.google.android.play.core.*
(SplitInstall/SplitCompat/tasks) references. They came from Flutter's
io.flutter.embedding.engine.deferredcomponents.PlayStoreDeferredComponentManager
being pinned by our over-broad '-keep class io.flutter.** { *; }' ProGuard
rule — Tane uses no deferred components, so R8 should shrink that manager
away (as it does for immich and other Flutter F-Droid apps, which don't
carry such a keep). Narrow the keep to io.flutter.plugins.**; JNI-critical
embedding classes (FlutterJNI, …) stay via the embedding AAR's own consumer
ProGuard rules — verified the built APK still contains FlutterJNI and no
com.google.android.play.core.* at all. Also exclude the com.google.android.play
group at the dependency level (belt-and-suspenders) + -dontwarn.
Bumps to 0.1.15 (+17); fdroid recipe versionCodes 171/172/173.
This commit is contained in:
parent
facd72db16
commit
f04dd3da1a
4 changed files with 37 additions and 14 deletions
|
|
@ -97,6 +97,17 @@ dependencies {
|
|||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4")
|
||||
}
|
||||
|
||||
// F-Droid: Flutter's embedding transitively pulls Google Play Core (deferred
|
||||
// components / split install — com.google.android.play.core.*), which F-Droid's
|
||||
// scanner rejects as a proprietary Google dependency. Tane does not use deferred
|
||||
// components, so drop the whole com.google.android.play group; those split-install
|
||||
// code paths are never reached. R8 keeps the referenced classes otherwise, so the
|
||||
// exclusion (not shrinking) is what removes them; -dontwarn in proguard-rules.pro
|
||||
// silences the now-dangling compile-time references.
|
||||
configurations.all {
|
||||
exclude(group = "com.google.android.play")
|
||||
}
|
||||
|
||||
// F-Droid builds one split APK per ABI (smaller downloads than a universal
|
||||
// APK) and needs each split to carry a distinct versionCode so its repo can
|
||||
// tell them apart; `flutter build apk --split-per-abi` alone gives every
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue