Android Просмотрщик PDF падает при свернутом приложении - PullRequest
2 голосов
/ 13 января 2020

Я использую https://github.com/barteksc/AndroidPdfViewer для отображения PDF в моем приложении. Но когда я создаю приложение с минимизацией и сокращением ресурса true, мое приложение вылетает, когда приложение начинает отображать средство просмотра PDF.

Ошибка:

2020-01-13 17:05:55.589 10984-10984/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: <package>, PID: 10984
    j.e
        at e.h.a.a.e.c.a()
        at <package>.ui.dialog.PdfViewerDialog.a()
        at androidx.fragment.app.Fragment.b()
        at b.k.a.h.a()
        at b.k.a.h.i()
        at b.k.a.h.a()
        at b.k.a.a.c()
        at b.k.a.h.b()
        at b.k.a.h.a()
        at b.k.a.h.c()
        at b.k.a.h.s()
        at b.k.a.h$a.run()
        at android.os.Handler.handleCallback(Handler.java:836)
        at android.os.Handler.dispatchMessage(Handler.java:103)
        at android.os.Looper.loop(Looper.java:203)
        at android.app.ActivityThread.main(ActivityThread.java:6269)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)

Ответы [ 2 ]

2 голосов
/ 13 января 2020

добавить строку ниже в proguard-rules.pro

 -keep class com.shockwave.**
0 голосов
/ 13 января 2020

Замените содержимое proguard-rules.pro приведенным ниже фрагментом кода

# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /home/hbb20/AndroidSDK/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}
-ignorewarnings
-keep class com.shockwave.**
-keep class * {
    public private *;
}

Gradle уровня приложения:

buildscript {
    repositories {
        google()
        jcenter()
    }
}

repositories {
    google()
    jcenter()
}

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 3
        versionName "3.0.0"
    }

    buildTypes {
        release {
            debuggable false
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }

        debug {
            debuggable true
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation project(':android-pdf-viewer')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'org.androidannotations:androidannotations-api:4.6.0'
    annotationProcessor "org.androidannotations:androidannotations:4.6.0"
}

Gradle уровня проекта:

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://jitpack.io" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        google()

        maven {
            url 'https://maven.google.com/'
        }
    }
}

enter image description here Надеюсь, это поможет вам.

...