Приложение работает в нормальных условиях. Но когда коды запутаны с помощью 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 ч. Я жду вашей помощи. Спасибо.