[Flutter] No signature of method: build_ (gradle 7.0+)
Flutter 난독화 메뉴얼에 언급된 useProguard를 제거하면 된다.
에러로그
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/melody/dev/sliding_puzzle/android/app/build.gradle' line: 34
* What went wrong:
A problem occurred evaluating project ':app'.
> No signature of method: build_1nmdkqc3j4ksoxnsdodzzejab.android() is applicable for argument types: (build_1nmdkqc3j4ksoxnsdodzzejab$_run_closure2) values: [build_1nmdkqc3j4ksoxnsdodzzejab$_run_closure2@3a8c6f15]
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 3s
Exception: Gradle task assembleDebug failed with exit code 1
app/build.gradle
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
useProguard를 제거하면 된다.
Android 스튜디오 3.4 또는 Android Gradle 플러그인 3.4.0 이상은 R8 컴파일러를 통해 코드 축소, 리소스 축소, 난독화, 최적화를 한다.
android {
...
buildTypes {
getByName("release") {
isShrinkResources = true
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android.txt"),
"proguard-rules.pro"
)
}
}
}
https://developer.android.com/studio/build/shrink-code?hl=ko
앱 축소, 난독화 및 최적화 | Android 개발자 | Android Developers
사용하지 않는 코드와 리소스를 삭제하기 위해 출시 빌드에서 코드를 축소하는 방법을 알아보세요.
developer.android.com
android/gladle.properties
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
android.enableR8=true
android.enableR8.fullMode=true