Android Проблема Proguard Firebase. Как я могу решить это? - PullRequest
0 голосов
/ 26 апреля 2020

Приложение работает в нормальных условиях. Но когда коды запутаны с помощью proguard, выдает ошибку при извлечении данных из базы данных. Вот мой код:

database = FirebaseDatabase.getInstance();
DatabaseReference myRef1 = database.getReference("Others");
ValueEventListener valueListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // Get Post object and use the values to update the UI
        final Others othersbilgi = dataSnapshot.getValue(Others.class);

        progress.setMax(100);
        progress.setProgressWithAnim(100);
        progress.setAnimDuration(250);

        progress.setAnimateProgressListener(new AnimateHorizontalProgressBar.AnimateProgressListener() {
            @Override
            public void onAnimationStart(int progress, int max) {
                // do nothing
            }
            @Override
            public void onAnimationEnd(int progress, int max) {
                Intent i = new Intent(MainActivity.this,activation.class);
                **i.putExtra("satlink",othersbilgi.getSatlink());**
                i.putExtra("reklink",othersbilgi.getReklink());
                i.putExtra("reklimit",othersbilgi.getReklimit());
                i.putExtra("useragreementlink",othersbilgi.getUseragreementlink());
                i.putExtra("reklamtakibi",othersbilgi.getReklamtakibi());
                startActivity(i);

            }
        });
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }

};
myRef1.addListenerForSingleValueEvent(valueListener);

Вот журнал: 2020-04-26 20: 18: 09.627 21000-21000 / com.encode.boostlike E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной Процесс: com.encode .boostlike, PID: 21000 java .lang.NullPointerException: попытка вызвать виртуальный метод 'java .lang.String com.encode.boostlike.Others.getSatlink ()' для пустой ссылки на объект в com.encode.boostlike .MainActivity $ d $ aa (: 323) по адресу com.daasuu.ahp. * .animation.ValueAnimator.endAnimation (ValueAnimator. java: 1232) в android .animation.ValueAnimator.doAnimationFrame (ValueAnimator. java: 1474) в android .animation.AnimationHandler.doAnimationFrame. *: 146) в android .animation.AnimationHandler.access $ 100 (AnimationHandler. java: 37) в android .animation.AnimationHandler $ 1.doFrame (AnimationHandler. java: 54) в android .view .Choreographer $ CallbackRecord.run (Хореограф java.: 1090) в android .view.Choreographer.doCallbacks (хореограф. java: 893) в android .view.Choreographer.doFrame (хореограф. java: 809) в android .view.Choreographer $ FrameDisplayEventReceiver .run (Хореограф. java: 1078) в android .os.Handler.handleCallback (Обработчик. java: 907) в android .os.Handler.dispatchMessage (Обработчик. java: 105) в android .os.Looper.l oop (Looper. java: 216) в android .app.ActivityThread.main (ActivityThread. java: 7625) в java .lang.reflect.Method .invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 524) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 987) 2020-04-26 20: 18: 09.655 21000-21000 / com.encode.boostlike I / Процесс: отправка сигнала. PID: 21000 SIG: 9

Вот мои правила Proguard:

-keepattributes Signature
-keep class com.encode.boostlike.Others { *; }
-keepnames class com.encode.boostlike.Others

-keep class com.firebase.** { *; }
-keep class org.apache.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class javax.servlet.** { *; }
-keepnames class org.ietf.jgss.** { *; }
-dontwarn org.w3c.dom.**
-dontwarn org.joda.time.**
-dontwarn org.shaded.apache.**
-dontwarn org.ietf.jgss.**

# Only necessary if you downloaded the SDK jar directly instead of from maven.
-keep class com.shaded.fasterxml.jackson.** { *; }

Вот файл gradle приложения:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.encode.boostlike"
        minSdkVersion 22
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true

        ndk {
            abiFilters 'arm64-v8a', 'armeabi', 'armeabi-v7a', 'x86', 'x86_64'
        }
        /*minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'*/
    }
    buildTypes {
        release {
            debuggable true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }

    }
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

    implementation 'com.google.android.gms:play-services-ads:15.0.1'
    implementation 'com.google.firebase:firebase-core:16.0.5'
    implementation 'com.google.firebase:firebase-database:19.2.0'
    //implementation 'com.firebase:firebase-client-android:2.5.2'
    //implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'

    implementation 'android.arch.work:work-runtime:1.0.1'
    implementation 'com.google.firebase:firebase-iid:20.0.2'
    implementation 'com.google.firebase:firebase-messaging:20.1.0'
    implementation 'com.google.firebase:firebase-auth:19.2.0'

    implementation 'com.android.billingclient:billing:1.0'
    implementation 'com.android.volley:volley:1.1.1'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.daasuu:animateHorizontalProgressBar:0.2.4'
    implementation 'com.scottyab:rootbeer-lib:0.0.7'
    implementation 'com.github.joielechong:countrycodepicker:2.4.1'
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19'
    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.2.2'
    implementation 'com.daimajia.androidanimations:library:2.3@aar'
    implementation 'com.github.hajiyevelnur92:intentanimation:1.0'
    implementation 'com.wang.avi:library:2.1.3'
    implementation 'com.github.ybq:Android-SpinKit:1.2.0'
    implementation 'com.github.channguyen:rsv:1.0.1'
    implementation 'com.codemybrainsout.rating:ratingdialog:1.0.8'

    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.google.android.material:material:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
apply plugin: 'com.google.gms.google-services'
//apply plugin: 'io.fabric'

Я имел дело с этим для 8 ч. Я жду вашей помощи. Спасибо.

...