如何解决Android应用启动时的运行时异常
我已经使用Flutter构建了一个应用,当我调试时它可以正常工作,但是发行版在启动时崩溃。该应用程序使用32位库,因此我必须编译32位apk。这是运行发行版应用程序时在启动时遇到的例外情况:
FATAL EXCEPTION: main
Process: za.co.evac.app,PID: 17039
java.lang.RuntimeException: Stub!
at a.a.a.<init>(Unknown Source:7)
at za.co.evac.app.MainActivity$d.run(Unknown Source:11)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6548)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:445)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
及以下
FATAL EXCEPTION: main
Process: za.co.evac.app,PID: 15753
java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/za.co.evac.app-aX80Y0RjcmftPtB0M0K2yA==/lib/arm/libsdkwrap.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
at java.lang.System.loadLibrary(System.java:1657)
at com.apextechnology.swid.cpp_native.WrapperLoader.<clinit>(Unknown Source:2)
at m.<init>(Unknown Source:3)
at f.b.b.a.a.<init>(Unknown Source:16)
at za.co.evac.app.MainActivity$d.run(Unknown Source:15)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6548)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:445)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
这是我的gradle文件
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
checkReleaseBuilds false
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "xxxxxx"
minSdkVersion 19
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
// abiFilters "arm64-v8a","armeabi-v7a","x86","armeabi","mips",'x86_64'
abiFilters "armeabi-v7a"
}
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now,so `flutter run --release` works.
signingConfig signingConfigs.debug
debuggable false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
}
}
splits {
abi {
reset()
include "armeabi-v7a"
}
}
packagingOptions {
pickFirst 'lib/armeabi-v7a/libswid32.so'
pickFirst 'lib/armeabi-v7a/libsdkwrap.so'
pickFirst 'lib/armeabi-v7a/libkeys.so'
}
dexOptions {
preDexLibraries = false
}
}
flutter {
source '../..'
}
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.google.android.gms:play-services-safetynet:17.0.0'
implementation 'com.google.android.gms:play-services-vision:19.0.0'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation(name: "driverscan",ext: "aar") {
transitive = true
}
//compile project(':SDKLibrary')// original 2d
implementation files('libs/SDK_release_v2.1.1.jar')
provided files('libs/SDK_release_v2.1.1.jar')
provided files('libs/driverscan.aar')
}
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。