gpt4 book ai didi

android - 如何在 Flutter 发布的 apk 中禁用代码混淆?

转载 作者:行者123 更新时间:2023-12-05 00:19:28 31 4
gpt4 key购买 nike

我利用 agora-rtc-engine ( https://pub.dev/packages/agora_rtc_engine ) 在 Flutter 中构建了一个视频 session 应用

我的应用程序在调试版本中运行完美,但每当我尝试在应用程序的发布版本中加入房间/视频 session 时它就会崩溃。该库的 pub-dev 页面提到这是由于 Flutter 的代码混淆造成的。他们展示的防止崩溃的方法已经过时(proguard.rules)。那么,我现在该如何解决呢?

这里是完整的源代码:https://github.com/CodeSarthak/Vartalap

感谢任何帮助。非常感谢!

最佳答案

通常情况下,您只需要添加一个几乎没有设置的文件 :D

  • 创建混淆规则来定义要阻止的内容这是对我有用的方法,根据您的应用程序,您可能需要添加更多特定于您的解决方案的内容。 :D
  • 创建 ProGuard 文件

proguard screenshot

代码:创建文件:proguard-rules.pro

## Flutter wrapper
-keepattributes Signature
-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 com.google.firebase.** { *; }
-keepattributes JavascriptInterface
-keepattributes Annotation
-dontwarn com.razorpay.**
-keep class com.razorpay.** { *; }
-optimizations !method/inlining/
-keepclasseswithmembers class * {public void onPayment*(...);}
-keepclassmembers class * {@android.webkit.JavascriptInterface ;}
-keepclassmembers class com.yourpackagehere.models.** { *; }
-dontwarn io.flutter.embedding.**
  • 并将其添加到应用程序级 gradle 文件

settings in gradle

代码:

内部构建.gradle

buildTypes {

release {
shrinkResources false
signingConfig signingConfigs.release
minifyEnabled false
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

希望对你有帮助:D

关于android - 如何在 Flutter 发布的 apk 中禁用代码混淆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62833628/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com