Skip to content

[Bug] Incorrect android proguard files in libs/android/*.pro  #604

Closed
@crazyhappygame

Description

@crazyhappygame

[REQUIRED] Please fill in the following fields:

  • Pre-built SDK from the website or open-source from this repo: https://dl.google.com/firebase/sdk/cpp/firebase_cpp_sdk_8.3.0.zip
  • Firebase C++ SDK version: 8.3.0
  • Problematic Firebase Component: app, analytics, remote_config, (probably all *.pro files) (Auth, Database, etc.)
  • Other Firebase Components in use: None (Auth, Database, etc.)
  • Platform you are using the C++ SDK on: All (Mac, Windows, or Linux)
  • Platform you are targeting: Android (iOS, Android, and/or desktop)

[REQUIRED] Please describe the issue here:

Please e.g. comapare file content of libs/android/remote_config.pro from version https://dl.google.com/firebase/sdk/cpp/firebase_cpp_sdk_6.2.0.zip

-keep,includedescriptorclasses public class com.google.firebase.remoteconfig.FirebaseRemoteConfig{ *; }
-keep,includedescriptorclasses public class com.google.firebase.remoteconfig.FirebaseRemoteConfigFetchThrottledException{ *; }
-keep,includedescriptorclasses public class com.google.firebase.remoteconfig.FirebaseRemoteConfigInfo{ *; }
-keep,includedescriptorclasses public class com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings{ *; }
-keep,includedescriptorclasses public class com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings$Builder{ *; }
-keep,includedescriptorclasses public class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue{ *; } 

With libs/android/remote_config.pro from version https://dl.google.com/firebase/sdk/cpp/firebase_cpp_sdk_8.3.0.zip

-ignorewarnings
-keep,includedescriptorclasses public class com.google.firebase.example.LoggingUtils { * ; } 

Bug:
There is not "FirebaseRemoteConfig" in proguard configuration. All FirebaseRemoteConfig are removed. Application crashes when proguard is enabled

Steps to reproduce:

  1. Create an android project with
firebaseCpp.dependencies {
  analytics
  remoteConfig
}

and proguards enable "minifyEnabled true"

    buildTypes {
        release {
            debuggable false
            jniDebuggable false
            renderscriptDebuggable false
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  1. compile apk
  2. run apk - bug application crashes. Possible error lines in adb logcat:
Abort message: 'Java class com/google/firebase/FirebaseApp not found.  Please verify the AAR which contains the com/google/firebase/FirebaseApp class is included in your app.'
....
Abort message: 'Java class com/google/firebase/remoteconfig/FirebaseRemoteConfig not found.  Please verify the AAR which contains the com/google/firebase/remoteconfig/FirebaseRemoteConfig class is included in your app.'
....
 firebase: Unable to find Method com/google/firebase/analytics/FirebaseAnalytics.setAnalyticsCollectionEnabled (signature '(Z)V', instance).  Please verify the AAR which contains the com/google/firebase/analytics/FirebaseAnalytics class is included in your app.
...

Problem: proguard files in libs/android/.pro are almost empty or does not have proper rules assigned
It seems like most (or all files) are incorrect in libs/android/
.pro https://dl.google.com/firebase/sdk/cpp/firebase_cpp_sdk_8.3.0.zip
proguard files were proper in version 6.2.0.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions