[英]My android app is working properly in debug mode in android studio but not working when i install from google playstore
Can anybody help me in proguard-rules.pro, Yesterday my app was working fine when i downloaded from google playstore. 有人可以在proguard-rules.pro中帮助我吗?昨天,当我从Google Playstore下载时,我的应用程序运行正常。 but when i updated my app with proguard-rules my app crashes when i download from google play store.
但是,当我使用proguard-rules更新我的应用程序时,当我从Google Play商店下载时,我的应用程序崩溃了。 but runs perfectly when i run from android studio in debug mode.
但是当我以调试模式从android studio运行时运行完美。
I have currently updated my proguard-rules.pro 我目前更新了我的proguard-rules.pro
-keep class com.squareup.okhttp.** { *; }
-keep class retrofit.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-dontwarn com.squareup.okhttp.**
-dontwarn okio.**
-dontwarn retrofit.**
-dontwarn rx.**
-dontwarn okio.**
-dontwarn retrofit2.**
-keepclasseswithmembers class * {
@retrofit.http.* <methods>;
}
and I have these many libraries in my gradle file 我的gradle文件中有很多库
compile "com.android.support:support-v4:$SUPPORT_LIBRARY_VERSION"
compile "com.android.support:appcompat-v7:$SUPPORT_LIBRARY_VERSION"
compile "com.android.support:recyclerview-v7:$SUPPORT_LIBRARY_VERSION"
compile "com.android.support:cardview-v7:$SUPPORT_LIBRARY_VERSION"
compile "com.android.support:design:$SUPPORT_LIBRARY_VERSION"
compile "com.android.support:support-annotations:$SUPPORT_LIBRARY_VERSION"
compile "com.squareup.retrofit2:retrofit:$RETROFIT_VERSION"
compile "com.squareup.retrofit2:converter-gson:$RETROFIT_VERSION"
compile "com.squareup.retrofit2:adapter-rxjava:$RETROFIT_VERSION"
compile "com.squareup.okhttp3:okhttp:$OKHTTP_VERSION"
compile "com.squareup.okhttp3:logging-interceptor:$OKHTTP_VERSION"
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.3.0'
compile 'com.jakewharton.timber:timber:4.1.1'
compile "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION"
annotationProcessor "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION"
compile "com.google.dagger:dagger:$DAGGER_VERSION"
annotationProcessor "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
provided 'javax.annotation:jsr250-api:1.0'
compile 'javax.inject:javax.inject:1'
implementation("com.mikepenz:materialdrawer:6.0.6@aar") {
transitive = true
}
compile 'com.github.javiersantos:AppUpdater:2.0.2'
compile 'com.thoughtbot:expandablerecyclerview:1.0'
implementation 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
compile 'com.onesignal:OneSignal:[3.7.1, 3.99.99]'
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.daimajia.slider:library:1.1.5@aar'
compile('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
transitive = true;
}
But I am getting an error and I really don't know what is happening 但是我遇到错误,我真的不知道发生了什么
java.lang.IllegalStateException:
at f.d.c.g.run (Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run (FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
at java.lang.Thread.run (Thread.java:762)
Caused by: java.lang.InternalError:
at f.d.e.b.y.a (Unknown Source)
at f.d.e.b.r.<clinit> (Unknown Source)
at f.d.a.n$a.<init> (Unknown Source)
at f.d.a.n.a (Unknown Source)
at f.d.a.n.a (Unknown Source)
at f.d.a.f.a (Unknown Source)
at f.d.a.f.a (Unknown Source)
at f.e.a (Unknown Source)
at f.d.a.p$a.a (Unknown Source)
at f.d.c.a$b$1.a (Unknown Source)
Caused by: java.lang.NoSuchFieldException:
at java.lang.Class.getDeclaredField (Native Method)
My gradle (app) 我的gradle(应用程式)
minSdkVersion 16
targetSdkVersion 26
versionCode 9
versionName "1.6"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath false
}
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
It's difficut to find the error with abcdef.
用
abcdef.
查找错误很abcdef.
By default, in AndroidStudio 3
, when you build a released application, there is a mapping file which helps any analysis service like FirebaseAnalysis
or Crashlytic
can detect where the error is and give you as much context and detail as possible when runtime exceptions occur. 默认情况下,在
AndroidStudio 3
,当您构建发布的应用程序时,会提供一个映射文件,该文件可帮助诸如FirebaseAnalysis
或Crashlytic
类的任何分析服务检测错误的位置,并在发生运行时异常时为您提供尽可能多的上下文和详细信息。
Upload the mapping file which located at build/outputs/mapping/release/mapping.txt
to Proguard Deobfuscation in your Google Play Console
. 将位于
build/outputs/mapping/release/mapping.txt
的映射文件上传到您的Google Play Console
Proguard Deobfuscation。 Then track the error again. 然后再次跟踪错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.