Skip to content

Commit

Permalink
feat: use the sqlcipher-android library in db encryption android plug…
Browse files Browse the repository at this point in the history
…in (#174)

* chore: updated pubspec.lock files across packages

* feat: use the sqlcipher-android dependency in db encryption plugin

And remove the deprecated net.zetetic:android-database-sqlcipher dependency

* chore: update compileSdk and targetSdk to v34

As sqlChipher requires this version

* chore: fix building of sample android app

* chore: remove sql-cipher dependency from sample android app

* chore: update the version of the native Android SDK to the latest

* chore: remove db encryption related proguard rules

It is not required, as they are already bundled.
  • Loading branch information
1abhishekpandey authored Aug 19, 2024
1 parent cfd741c commit b0abeb1
Show file tree
Hide file tree
Showing 19 changed files with 659 additions and 436 deletions.
8 changes: 2 additions & 6 deletions packages/example/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ apply plugin: 'com.google.gms.google-services'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion 33
compileSdk 34

lintOptions {
disable 'InvalidPackage'
Expand All @@ -37,7 +37,7 @@ android {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId 'com.rudderstack.rudder_sdk_flutter_example'
minSdkVersion 21
targetSdkVersion 29
targetSdk 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
Expand Down Expand Up @@ -65,8 +65,4 @@ flutter {

dependencies {
implementation 'com.google.android.gms:play-services-ads:19.3.0'

//sql-cipher
implementation "net.zetetic:android-database-sqlcipher:4.5.4"
implementation "androidx.sqlite:sqlite:2.3.1"
}
9 changes: 0 additions & 9 deletions packages/example/android/app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,6 @@
-keep class com.rudderstack.rudderjsonadapter.RudderTypeAdapter { *; }
-keep class * extends com.rudderstack.rudderjsonadapter.RudderTypeAdapter

# Required to ensure the DefaultPersistenceProviderFactory is not removed by Proguard
# and works as expected even when the customer is not using encryption feature.
-dontwarn net.sqlcipher.Cursor
-dontwarn net.sqlcipher.database.SQLiteDatabase$CursorFactory
-dontwarn net.sqlcipher.database.SQLiteDatabase
-dontwarn net.sqlcipher.database.SQLiteOpenHelper
-keep class com.rudderstack.android.sdk.core.persistence.DefaultPersistenceProviderFactory { *; }

# Required for the usage of annotations across reporter and web modules
Expand All @@ -42,6 +36,3 @@
-keepclassmembers class com.rudderstack.android.sdk.core.RudderContext { java.util.Map customContextMap; }
-keepclassmembers class com.rudderstack.android.sdk.core.RudderTraits { java.util.Map extras; }

# Required for DBEncryption feature using SQLCipher
-keep class net.sqlcipher.** { *; }
-keep class net.sqlcipher.database.* { *; }
1 change: 1 addition & 0 deletions packages/example/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:exported="true"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
Expand Down
102 changes: 44 additions & 58 deletions packages/example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -363,113 +363,100 @@ packages:
rudder_integration_adjust_flutter:
dependency: "direct main"
description:
name: rudder_integration_adjust_flutter
sha256: bf2a4bd6d1890e221e764f20a51199b3ade4caf46fcb58ca63e9d23b452c88fb
url: "https://pub.dev"
source: hosted
path: "../integrations/rudder_integration_adjust_flutter"
relative: true
source: path
version: "1.2.2"
rudder_integration_amplitude_flutter:
dependency: "direct main"
description:
name: rudder_integration_amplitude_flutter
sha256: "443f7de925be8359f3a762cd9158fb62a319cc83f4976aad518a8e7bc213b516"
url: "https://pub.dev"
source: hosted
path: "../integrations/rudder_integration_amplitude_flutter"
relative: true
source: path
version: "1.2.2"
rudder_integration_appcenter_flutter:
dependency: "direct main"
description:
name: rudder_integration_appcenter_flutter
sha256: b31f4326d93c6edc686c6ff91f10a721d1c1aa7da76c000556808b576c19efab
url: "https://pub.dev"
source: hosted
path: "../integrations/rudder_integration_appcenter_flutter"
relative: true
source: path
version: "1.3.2"
rudder_integration_appsflyer_flutter:
dependency: "direct main"
description:
name: rudder_integration_appsflyer_flutter
sha256: ffc6c87d9b076c424d211cc76af38eb1ed772ebe241d2f1d0a4d6e656cca4099
url: "https://pub.dev"
source: hosted
path: "../integrations/rudder_integration_appsflyer_flutter"
relative: true
source: path
version: "1.1.12"
rudder_integration_braze_flutter:
dependency: "direct main"
description:
name: rudder_integration_braze_flutter
sha256: acd4f1f0baa3b6a563e0c59f5d41a25129419bba557c6f27dc2c94a2ce98c809
url: "https://pub.dev"
source: hosted
path: "../integrations/rudder_integration_braze_flutter"
relative: true
source: path
version: "1.2.2"
rudder_integration_firebase_flutter:
dependency: "direct main"
description:
name: rudder_integration_firebase_flutter
sha256: "9f307be4b2c45bf97c5354720d50461b495432e2c8f623af2a389701b2dbfd72"
url: "https://pub.dev"
source: hosted
path: "../integrations/rudder_integration_firebase_flutter"
relative: true
source: path
version: "2.2.2"
rudder_integration_kochava_flutter:
dependency: "direct main"
description:
path: "../integrations/rudder_integration_kochava_flutter"
relative: true
source: path
version: "1.1.2"
version: "1.1.3"
rudder_integration_leanplum_flutter:
dependency: "direct main"
description:
name: rudder_integration_leanplum_flutter
sha256: "37012c3ae0512f5a84c510b04e83d699e295ebc9ecf8bf046c278c289503203f"
url: "https://pub.dev"
source: hosted
path: "../integrations/rudder_integration_leanplum_flutter"
relative: true
source: path
version: "1.2.2"
rudder_plugin_android:
dependency: transitive
dependency: "direct overridden"
description:
name: rudder_plugin_android
sha256: "5227c06ce297ae920ca04191245016c1f9c14fe843394ece37c844681ca882a5"
url: "https://pub.dev"
source: hosted
path: "../plugins/rudder_plugin_android"
relative: true
source: path
version: "2.8.0"
rudder_plugin_db_encryption:
dependency: "direct main"
description:
name: rudder_plugin_db_encryption
sha256: "26337b77c4eec693a7dad778a1e7ec1d33e9d006f38fc0dbdb6ccbfb6f52761c"
url: "https://pub.dev"
source: hosted
path: "../plugins/rudder_plugin_db_encryption"
relative: true
source: path
version: "1.0.6"
rudder_plugin_ios:
dependency: transitive
dependency: "direct overridden"
description:
name: rudder_plugin_ios
sha256: d4e840eaa0cec63108439db2508b35a69340fc923a6ec76560f9acc340cf71ad
url: "https://pub.dev"
source: hosted
path: "../plugins/rudder_plugin_ios"
relative: true
source: path
version: "2.8.1"
rudder_plugin_web:
dependency: transitive
dependency: "direct overridden"
description:
name: rudder_plugin_web
sha256: "936fdfe2bc59489f1ad422b5a90fff65675e54e0a7ffee566892e614ee63b502"
url: "https://pub.dev"
source: hosted
path: "../plugins/rudder_plugin_web"
relative: true
source: path
version: "2.7.0"
rudder_sdk_flutter:
dependency: "direct main"
description:
name: rudder_sdk_flutter
sha256: "06c5b784978aba521bb9c191857ed8388437ce4dbc7f04b3990e3c49dafe0cf9"
url: "https://pub.dev"
source: hosted
path: "../plugins/rudder_plugin"
relative: true
source: path
version: "2.9.2"
rudder_sdk_flutter_platform_interface:
dependency: transitive
dependency: "direct overridden"
description:
name: rudder_sdk_flutter_platform_interface
sha256: d3a86fa3a8bb1a79ccb5a3647868e4e97ce7f94dbc754cd932f188289294a417
url: "https://pub.dev"
source: hosted
path: "../plugins/rudder_plugin_interface"
relative: true
source: path
version: "2.8.0"
sky_engine:
dependency: transitive
Expand Down Expand Up @@ -582,4 +569,3 @@ packages:
version: "3.1.1"
sdks:
dart: ">=3.2.0-0 <4.0.0"
flutter: ">=2.5.0"
Loading

0 comments on commit b0abeb1

Please sign in to comment.