【发布时间】:2023-03-16 04:11:02
【问题描述】:
在 Google Play 上部署我的 Flutter 应用后,它在启动时崩溃。它适用于 2 台设备(Google 测试设备 on Play),而其他设备则出现以下错误。
问题:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/abc.pota.tallxy-1/base.apk"],nativeLibraryDirectories=[/data/app/ abc.pota.tallxy-1/lib/arm64, /data/app/abc.pota.tallxy-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /system/vendor /lib64, /product/lib64]]] 找不到“libflutter.so”
所以我将以下代码放在我的 app/build.gradle 文件中。
defaultConfig {
..
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
}
但并非在所有 Google 测试设备甚至我的手机上(当我从 Google Play 下载时)它都会崩溃并出现以下错误。
问题:abc.pota.tallxy 的原生崩溃
04-09 18:33:39.560:E/HwSystemManager(1901):HandleInstalledPackageInfoService:第二个操作:pkgData 为空 04-09 18:33:39.683:E/HwLauncher(2408):PowerSaveLauncherModel onPackageAdded:不在PowerSaveLauncher 04-09 18:33:39.908: E/fm_if.c(16065): 找到 id:fm 并开始打开设备 04-09 18:33:39.939: E/Finsky(6061): [135] com.google.android.finsky.setup.ae.a(52): 预取预加载时出错 04-09 18:33:39.939: E/Finsky(6061): com.google.android.finsky.setup.fetchers.RawDocumentsFetchException[reason=pai_config, account=[3IPbcy9bVZDdTfTescMyODo8-OY]] 04-09 18:33:39.939: E/Finsky(6061): at com.google.android.finsky.setup.ae.a(SourceFile:31) 04-09 18:33:39.939: E/Finsky(6061): at com.google.android.finsky.setup.ag.call(未知来源) 04-09 18:33:39.939: E/Finsky(6061): 在 java.util.concurrent.FutureTask.run(FutureTask.java:237) 04-09 18:33:39.939: E/Finsky(6061): 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 04-09 18:33:39.939: E/Finsky(6061): 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 04-09 18:33:39.939: E/Finsky(6061): 在 java.lang.Thread.run(Thread.java:776) 04-09 18:33:40.174:W/System(16106):ClassLoader 引用了未知路径:/system/app/YouTube/lib/arm64
异常删除所有proguard代码后。 Google 控制台显示以下四种设备失败。
有问题的设备 谷歌 Pixel 2(角膜白斑)- 安卓 8.1 华为 Mate 9 (HWMHA) - 安卓 7.0 谷歌像素(旗鱼) - Android 7.1 三星 Galaxy S9 (US) (starqlteue) - Android 8.0
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/abc.pota.tallxy-xsLCE7j_6PxDsQ0AqFF1ZA==/base.apk"],nativeLibraryDirectories=[/data/app/ abc.pota.tallxy-xsLCE7j_6PxDsQ0AqFF1ZA==/lib/arm64, /data/app/abc.pota.tallxy-xsLCE7j_6PxDsQ0AqFF1ZA==/base.apk!/lib/arm64-v8a, /system/lib64]]] 不能找到“libflutter.so” java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/abc.pota.tallxy-1/base.apk"],nativeLibraryDirectories=[/data/app/abc.pota.tallxy -1/lib/arm64, /data/app/abc.pota.tallxy-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /system/vendor/lib64,
我的app/build.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"
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
applicationId "abc.pota.tallxy"
minSdkVersion 21
targetSdkVersion 28
multiDexEnabled true
versionCode 5
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
}
apply plugin: 'com.google.gms.google-services'
感谢您的宝贵时间
【问题讨论】:
-
还没试过。今天会尝试更新帖子
-
我删除了所有与 minify 和 proguard 相关的代码。生成新的 apk 并部署,但出现相同的错误。
-
您的设备是否也出现此错误(在发布模式下)?
-
当我将我的设备连接到计算机并运行它时不会...但是如果我从 Play 商店(内部版本)下载它,它就会崩溃
-
我认为您可以获得更好的解决方案是通过填写问题here
标签: flutter