fix: remove proprietary classes from build

- remove the proprietary classes from build
- second try

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
krille/use-hive-collections
TheOneWithTheBraid 3 years ago
parent dd6b1c0985
commit 4c797f3416

@ -1,88 +1,110 @@
diff --git a/android/app/build.gradle b/android/app/build.gradle diff --git b/android/app/build.gradle a/android/app/build.gradle
index ad9ffb87..37baafb1 100644 index 001fbd72..3a1f9293 100644
--- a/android/app/build.gradle --- b/android/app/build.gradle
+++ b/android/app/build.gradle +++ a/android/app/build.gradle
@@ -44,7 +44,7 @@ android { @@ -68,6 +68,10 @@ android {
defaultConfig {
applicationId "chat.fluffy.fluffychat"
- minSdkVersion 16
+ minSdkVersion 19
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
@@ -78,8 +78,8 @@ flutter {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- //implementation 'com.google.firebase:firebase-messaging:19.0.1' // Workaround for https://github.com/microg/android_packages_apps_GmsCore/issues/313#issuecomment-617651698
+ implementation 'com.google.firebase:firebase-messaging:19.0.1' // Workaround for https://github.com/microg/android_packages_apps_GmsCore/issues/313#issuecomment-617651698
implementation 'androidx.multidex:multidex:2.0.1'
} }
release {
-//apply plugin: 'com.google.gms.google-services' signingConfig signingConfigs.release
+apply plugin: 'com.google.gms.google-services' + minifyEnabled false
diff --git a/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt b/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt + shrinkResources false
index d9930f55..510e9845 100644 +
--- a/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+++ b/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt
@@ -1,4 +1,4 @@
-/*package chat.fluffy.fluffychat
+package chat.fluffy.fluffychat
import com.famedly.fcm_shared_isolate.FcmSharedIsolateService
@@ -33,4 +33,3 @@ class FcmPushService : FcmSharedIsolateService() {
} }
} }
} }
-*/ @@ -79,6 +83,9 @@ flutter {
\ No newline at end of file
diff --git a/android/build.gradle b/android/build.gradle
index 85aa8647..3b7e09e7 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -8,7 +8,7 @@ buildscript {
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.2.1' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" //implementation 'com.google.firebase:firebase-messaging:19.0.1' // Workaround for https://github.com/microg/android_packages_apps_GmsCore/issues/313#issuecomment-617651698
- //classpath 'com.google.gms:google-services:4.3.8' + testImplementation 'junit:junit:4.12'
+ classpath 'com.google.gms:google-services:4.3.8' + androidTestImplementation 'androidx.test:runner:1.1.1'
} + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'androidx.multidex:multidex:2.0.1'
} }
diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart diff --git b/android/app/proguard-rules.pro a/android/app/proguard-rules.pro
index 00ca2aaa..8bb8a156 100644 new file mode 100644
--- a/lib/utils/background_push.dart index 00000000..40570865
+++ b/lib/utils/background_push.dart --- /dev/null
@@ -39,7 +39,7 @@ import '../config/setting_keys.dart'; +++ a/android/app/proguard-rules.pro
import 'famedlysdk_store.dart'; @@ -0,0 +1,41 @@
import 'platform_infos.dart'; +-optimizationpasses 5
+## Flutter wrapper
-//import 'package:fcm_shared_isolate/fcm_shared_isolate.dart'; +-keep class io.flutter.app.** { *; }
+import 'package:fcm_shared_isolate/fcm_shared_isolate.dart'; +-keep class io.flutter.plugin.** { *; }
+-keep class io.flutter.util.** { *; }
class NoTokenException implements Exception { +-keep class io.flutter.view.** { *; }
String get cause => 'Cannot get firebase token'; +-keep class io.flutter.** { *; }
@@ -65,7 +65,7 @@ class BackgroundPush { +-keep class io.flutter.plugins.** { *; }
+-dontwarn io.flutter.embedding.**
final pendingTests = <String, Completer<void>>{}; +
+##---------------Begin: proguard configuration for Gson (Needed for flutter_local_notifications) ----------
- final dynamic firebase = null; //FcmSharedIsolate(); +# Gson uses generic type information stored in a class file when working with fields. Proguard
+ final dynamic firebase = FcmSharedIsolate(); +# removes such information by default, so configure it to keep all of it.
+-keepattributes Signature
+
+# For using GSON @Expose annotation
+-keepattributes *Annotation*
+
+# Gson specific classes
+-dontwarn sun.misc.**
+
+# Application classes that will be serialized/deserialized over Gson
+-keep class com.google.gson.examples.android.model.** { <fields>; }
+
+# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
+# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
+-keep class * extends com.google.gson.TypeAdapter
+-keep class * implements com.google.gson.TypeAdapterFactory
+-keep class * implements com.google.gson.JsonSerializer
+-keep class * implements com.google.gson.JsonDeserializer
+
+# Prevent R8 from leaving Data object members always null
+-keepclassmembers,allowobfuscation class * {
+ @com.google.gson.annotations.SerializedName <fields>;
+}
+
+# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
+-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
+-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
+
+##---------------End: proguard configuration for Gson (Needed for flutter_local_notifications) ----------
\ No newline at end of file
diff --git b/android/app/src/main/kotlin/chat/fluffy/fluffychat/MainActivity.kt a/android/app/src/main/kotlin/chat/fluffy/fluffychat/MainActivity.kt
index 1afc4606..894d1571 100644
--- b/android/app/src/main/kotlin/chat/fluffy/fluffychat/MainActivity.kt
+++ a/android/app/src/main/kotlin/chat/fluffy/fluffychat/MainActivity.kt
@@ -7,13 +7,11 @@ import android.content.Context
import androidx.multidex.MultiDex
DateTime? lastReceivedPush; class MainActivity : FlutterActivity() {
-
override fun attachBaseContext(base: Context) {
super.attachBaseContext(base)
MultiDex.install(this)
}
diff --git a/pubspec.yaml b/pubspec.yaml -
index c6295788..8dd17ce4 100644 override fun provideFlutterEngine(context: Context): FlutterEngine? {
--- a/pubspec.yaml return provideEngine(this)
+++ b/pubspec.yaml }
@@ -24,7 +24,7 @@ dependencies: diff --git b/pubspec.lock a/pubspec.lock
email_validator: ^2.0.1 index 9bb85c04..3e6c42df 100644
emoji_picker_flutter: ^1.1.2 --- b/pubspec.lock
encrypt: ^5.0.1 +++ a/pubspec.lock
- #fcm_shared_isolate: ^0.1.0 @@ -1592,11 +1592,9 @@ packages:
+ fcm_shared_isolate: ^0.1.0 snapping_sheet:
file_picker_cross: ^4.6.0 dependency: "direct main"
flutter: description:
sdk: flutter - path: "."
- ref: listenable
- resolved-ref: "2d9f2a40590c13aadfd226c2e41b08e155e6a92e"
- url: "https://github.com/TheOneWithTheBraid/snapping_sheet.git"
- source: git
+ name: snapping_sheet
+ url: "https://pub.dartlang.org"
+ source: hosted
version: "3.1.0"
source_map_stack_trace:
dependency: transitive

Loading…
Cancel
Save