且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

仅限发行版APK版本的Flutter问题

更新时间:2023-11-17 21:24:34

我遇到了这个确切的问题.我用几种不同的方法解决了这个问题:

I had this exact problem. I solved it with a couple different ways:

  1. 将proguard-rules.pro添加到android/app/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.**  { *; }
-keep class androidx.lifecycle.** { *; } #https://github.com/flutter/flutter/issues/58479
#https://medium.com/@swav.kulinski/flutter-and-android-obfuscation-8768ac544421

  1. 在应用程序级别build.gradle中将proguard添加到buildTypes

buildTypes {
    release {
        profile {
            matchingFallbacks = ['debug', 'release']
        }
    minifyEnabled true
    useProguard true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    signingConfig signingConfigs.release
    }
}
lintOptions {
    disable 'InvalidPackage'
    checkReleaseBuilds false
}

  1. 您也可以尝试在终端中运行主频道:

flutter channel master

  1. 我还通过导航到SDK管理器-> SDK工具->检查并下载Google Play服务,将Android迁移到Android Studio中的AndroidX

  1. I also migrated android to AndroidX in Android Studio by navigating to SDK manager->SDK tools->checking and downloading Google Play services

我还确保编译SDK和目标SDK为29;目前,SDK 30的permission_handler软件包存在问题.

I also made sure that compile SDK and target SDK is 29; there are issues with permission_handler package with SDK 30 at the moment.

我还编辑了kotlin主要活动文件:

I also edited the kotlin main activity file:

package yourpackage
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}