본문 바로가기

android

[Flutter] No signature of method: build_ (gradle 7.0+)

728x90

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

 

728x90