从Android Studio项目中删除所有未使用的类,方法

2022-08-31 17:36:28

我使用lint(Analyze->Inspect Code...)并找出未使用的方法和资源。Refractor->删除所有未使用的资源,但找不到任何像这样的选项来删除java类和方法。Android工作室或任何插件中是否有任何功能可以删除所有java类,这些方法在代码中未用于保存手动折射?


答案 1

这可以通过使用 内置的检查 。Java | Declaration redundancy | Unused declaration

要在整个项目上运行它,请转到 ,键入并选择所需的范围。然后仔细检查输出,并在需要时将某些类标记为入口点。Analyze -> Run inspection by name...Unused declaration

现在,您可以选择列表中的节点,并一次对所有未使用的声明执行操作。Unused declarationSafe delete

Inspection result

对于 Kotlin,也有类似的检查 。Kotlin | Redundant constructs | Unused symbol


答案 2

Android 附带 ProGuard,可以做你想做的事。如果您使用 Gradle 作为构建系统,则可以在文件中添加以下行:build.gradle

android {

    // ... other configurations

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

您的文件只需要包含一行proguard-rules-debug.pro

-dontobfuscate

通过此添加,您的发布版本将被缩小和混淆,但是,您的调试版本将仅被缩小,即删除不必要的代码。请注意,ProGuard 对生成而不是源代码进行操作。

ProGuard 常见问题解答提供了有关它可以执行的操作的更多信息。


推荐