我正在用Flutter构建一个应用程序。我在android应用程序端实现了一个SDK。我对调试APK中的SDK没有问题,但当我发布时,SDK所需的资源会从其包含文件夹中删除并重命名。例如:app-debug.apk > res > raw > success.mp3
变为app-release.apk > res > w3.mp3
我认为这与proguard有关,但将-dontshrink -dontobfuscate -dontoptimize
添加到proguard文件并没有改变任何内容。我甚至尝试过-keep class com.SDK.** { *; }
,希望这能保留所有的资源和类,但没有用。在应用程序级别的build.gradle版本中,我也实现了minifyEnabled false
和shrinkResources false
,但这些也没有解决问题。
Flutter、Gradle,甚至两者都有我遗漏的地方吗?
这是一个新手的错误。这与proguard或gradle无关。当我通过File=>重构包名称时,出现了这个问题;项目结构。它重构了除发布版AndroidManifest之外的所有内容,因此该应用程序试图从发布版的错误位置提取资源。