Feature/android release hardening#97
Open
Jerryvic911 wants to merge 2 commits into
Open
Conversation
…-98#89) - Enable R8/minification and shrinkResources in release build - Configure release signing via keystore.properties (gitignored) - Add network_security_config.xml — HTTPS only, no cleartext - Add backup_rules.xml and data_extraction_rules.xml — exclude all sensitive data - Wire networkSecurityConfig and dataExtractionRules in AndroidManifest - Remove allowMixedContent from capacitor.config.ts - Align versionName to 1.0.0 across build.gradle and package.json - Add proguard rules for Capacitor, MLKit and all plugins - Enable R8 full mode in gradle.properties
|
@Jerryvic911 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
Closes #89
Changes
Signing
keystore.properties(gitignored — never committed)keystore.properties.exampleas a template for teammatesapp-release.apk(signed) instead ofapp-release-unsigned.apkR8 / Minification
minifyEnabled trueandshrinkResources truein release buildproguard-android.txttoproguard-android-optimize.txtsecure storage, geolocation, status bar and app plugins
Network Security
network_security_config.xml— HTTPS only, no cleartext in productionandroid:usesCleartextTraffic="false"in AndroidManifestallowMixedContent: truefromcapacitor.config.tsBackup Hardening
backup_rules.xml(Android 6–11) — excludes all sharedpref, database, file, external and root domainsdata_extraction_rules.xml(Android 12+) — same exclusions for cloud backup and device transferallowBackup="false"Versioning
versionNameto"1.0.0"inbuild.gradleversionto"1.0.0"inpackage.jsonversionCodestrategy: increment by 1 per Play Store uploadBuild
android.enableR8.fullMode=trueingradle.propertiesAcceptance Criteria
Test Notes
./gradlew clean assembleReleaseapksigner verify --verbose app-release.apk