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

bil*_*lal 31 java android android-studio

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

Kur*_*soR 42

这可以通过使用内置检查来实现Java | Declaration redundancy | Unused declaration.

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

现在,您可以Unused declaration在列表中选择节点,并立即Safe delete对所有未使用的声明执行操作.

检查结果

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

  • @MrMike 在`Analyze -> Run Inspection by name...` 中的检查无法通过全名找到,您可以尝试只使用“未使用的符号”。https://i.stack.imgur.com/lwTwx.png (3认同)

小智 7

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'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

-dontobfuscate
Run Code Online (Sandbox Code Playgroud)

通过这些添加,您的发布版本将缩小和混淆,但是,您的调试版本只会缩小,即删除不必要的代码。请注意,ProGuard 对构建而不是源代码进行操作。

ProGuard的常见问题有什么可以做一些更多的信息。

  • 我相信主题启动器对 Android Studio 的发现感到困扰,而不是从未使用的方法中清理 apk (9认同)
  • 您正在讲述在运行时删除未使用的方法的解决方案。开发时需要删除未使用的方法。 (2认同)