Приложение выходит из строя при выпуске и не может получить трассировку стека из Google Play - PullRequest
0 голосов
/ 24 сентября 2018

Так что мой app apk отлично работает при отладке, как только я выпустил его для релиза, моё приложение может быть установлено, но сразу после его запуска произойдет сбой.Я не могу найти ошибку, используя Stacktrace, потому что Google Play только дает мне что-то подобное на вкладке сбоев,

pid: 0, tid: 0 >>> myapp.mobile.app <<<

backtrace:
  #00  pc 000000000001cd66  /system/lib/libc.so (abort+58)
  #01  pc 000000000005b861  /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/lib/arm/libflutter.so
  #02  pc 000000000004ff59  /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/lib/arm/libflutter.so (JNI_OnLoad+72)
  #03  pc 0000000000234d79  /system/lib/libart.so (art::JavaVMExt::LoadNativeLibrary(_JNIEnv*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, _jobject*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)+2324)
  #04  pc 0000000000002f5b  /system/lib/libopenjdkjvm.so (JVM_NativeLoad+230)
  #05  pc 000000000010c733  /system/framework/arm/boot.oat (java.lang.Runtime.nativeLoad [DEDUPED]+130)
  #06  pc 000000000016708b  /system/framework/arm/boot.oat (java.lang.Runtime.loadLibrary0+146)
  #07  pc 000000000016b94f  /system/framework/arm/boot.oat (java.lang.System.loadLibrary+86)
  #08  pc 000000000040d575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
  #09  pc 00000000003e6c7b  /system/lib/libart.so (art_quick_invoke_static_stub+222)
  #10  pc 00000000000a1027  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
  #11  pc 00000000001e5ae9  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
  #12  pc 00000000001e05d7  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
  #13  pc 00000000003e27af  /system/lib/libart.so (MterpInvokeStatic+130)
  #14  pc 0000000000400494  /system/lib/libart.so (ExecuteMterpImpl+14612)
  #15  pc 0000000000008ed4  /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/oat/arm/base.vdex (io.flutter.view.FlutterMain.a+80)
  #16  pc 00000000001c4d53  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+378)
  #17  pc 00000000001c9439  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
  #18  pc 00000000001e05bf  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
  #19  pc 00000000003e27af  /system/lib/libart.so (MterpInvokeStatic+130)
  #20  pc 0000000000400494  /system/lib/libart.so (ExecuteMterpImpl+14612)
  #21  pc 0000000000008e6a  /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/oat/arm/base.vdex (io.flutter.view.FlutterMain.a+10)
  #22  pc 00000000001c4d53  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+378)
  #23  pc 00000000001c937f  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
  #24  pc 00000000003d52b9  /system/lib/libart.so (artQuickToInterpreterBridge+880)
  #25  pc 0000000000411aff  /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
  #26  pc 000000000040d575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
  #27  pc 00000000003e6c7b  /system/lib/libart.so (art_quick_invoke_static_stub+222)
  #28  pc 00000000000a1027  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
  #29  pc 00000000001e5ae9  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
  #30  pc 00000000001e05d7  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
  #31  pc 00000000003e27af  /system/lib/libart.so (MterpInvokeStatic+130)
  #32  pc 0000000000400494  /system/lib/libart.so (ExecuteMterpImpl+14612)
  #33  pc 0000000000007b8a  /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/oat/arm/base.vdex (io.flutter.app.FlutterApplication.onCreate+6)
  #34  pc 00000000001c4d53  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+378)
  #35  pc 00000000001c937f  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
  #36  pc 00000000003d52b9  /system/lib/libart.so (artQuickToInterpreterBridge+880)
  #37  pc 0000000000411aff  /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
  #38  pc 000000000067a899  /system/framework/arm/boot-framework.oat (android.app.Instrumentation.callApplicationOnCreate+40)
  #39  pc 000000000075a4bb  /system/framework/arm/boot-framework.oat (android.app.ActivityThread.handleBindApplication+6626)
  #40  pc 0000000000756435  /system/framework/arm/boot-framework.oat (android.app.ActivityThread$H.handleMessage+5788)
  #41  pc 000000000090e329  /system/framework/arm/boot-framework.oat (android.os.Handler.dispatchMessage+136)
  #42  pc 0000000000910a23  /system/framework/arm/boot-framework.oat (android.os.Looper.loop+1162)
  #43  pc 000000000075f6b3  /system/framework/arm/boot-framework.oat (android.app.ActivityThread.main+674)
  #44  pc 000000000040d575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
  #45  pc 00000000003e6c7b  /system/lib/libart.so (art_quick_invoke_static_stub+222)
  #46  pc 00000000000a1027  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
  #47  pc 0000000000347ac5  /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
  #48  pc 0000000000348f15  /system/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+1024)
  #49  pc 00000000002fb0c5  /system/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+40)
  #50  pc 000000000011226f  /system/framework/arm/boot.oat (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+110)
  #51  pc 0000000000a0a56b  /system/framework/arm/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+114)
  #52  pc 0000000000a10455  /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2836)
  #53  pc 000000000040d575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
  #54  pc 00000000003e6c7b  /system/lib/libart.so (art_quick_invoke_static_stub+222)
  #55  pc 00000000000a1027  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
  #56  pc 0000000000347ac5  /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
  #57  pc 00000000003478ef  /system/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+310)
  #58  pc 000000000028eb11  /system/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+444)
  #59  pc 000000000006c93b  /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+30)
  #60  pc 000000000006eb93  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+458)
  #61  pc 0000000000001989  /system/bin/app_process32 (main+728)
  #62  pc 000000000008ae6d  /system/lib/libc.so (__libc_init+48)
  #63  pc 000000000000166f  /system/bin/app_process32 (_start_main+38)
  #64  pc 0000000000000306  <anonymous>

, это ничего не значит для меня, я следовал указаниям по развертыванию отсюдаhttps://flutter.io/android-release/, и пытался возвращаться снова и снова, чтобы выяснить проблему с выпуском.

Я собираюсь провести вас через неочевидные шаги, которые я предпринял, и, надеюсь, я смогу получитьпричина, по которой мое приложение падает

  1. Удалите android.permission.INTERNET, если приложению не требуется интернет;

    • Я оставил это, потому что у меня есть ссылка на мое приложение, по которой я хочу, чтобы люди нажимали и вели в браузер;в противном случае это приложение вообще не требует подключения к Интернету и должно работать без Интернета.Я не знаю, должен ли я оставить это или нет, поэтому я сохранил это.
  2. Версии minSdkVersion & targetSdkVersion.

    • Iне был уверен, что делать здесь.Мои SDK на android studio включают в себя oreo (27) и 28, поэтому я поставил минимум 16 и цель 28, а также compileSDK на 28.
  3. Правила Proguard

    • У меня есть плагин флаттера для sqlite, который называется "package: sqflite / sqflite.dart", и мне было интересно, будут ли эти правила включать плагин флаттера sqlite, который у меня есть (что, кажется, так и есть)

У меня есть это в моем proguard-rules.pro

#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }

У меня нет устройства Android, чтобы увидеть сбой для себя, и каждый эмуляторЯ использовал с Google Play (Nexus 5, API 27, Android 8.1), а также один с API 28, говорит, что приложение не совместимо с устройством в магазине Google Play.Поэтому я не могу воссоздать его в своих эмуляторах.

Он разбился на всех моих телефонах с тестером под управлением Android 9

Если что-то из этого имеет для вас смысл, почему происходит сбой, пожалуйста, дайте мнезнаете, если нет, как я могу получить трассировку стека моего сбоя, чтобы я мог продолжать выяснять, почему это происходит.

Прокомментируйте, если вам нужно больше видеть мои файлы, спасибо

build.gradle (только для Android)

android {
    compileSdkVersion 28

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "myapp.mobile.app"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 3
        versionName "Beta."
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release

            minifyEnabled true
            useProguard true

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...