在Android中编译后删除依赖项?

问题描述 投票:0回答:1

在Java中,需要类依赖来执行源代码文件的编译。但是,在没有引用的情况下运行已编译的文件将给出

ClassNotFoundException
。考虑以下几点:

import de.robv.android.xposed.XposedBridge;
................
................
private boolean testUseClassDirectly() {
        try {
            XposedBridge.log("blah");
            return true;
        }
        catch(Throwable unused_ex) {
            return false;
        }
    }

在这种情况下,仅当找到

de.robv.android.xposed.XposedBridge
引用时才会编译。我能够在 java、类或 jar 文件中提供参考以用于编译目的。但是,生成异常并处理它是应用程序设计的正常流程,它执行某些检查并直接使用该类,或者如果不基于这些检查,则以某种方式继续。

如何在 Android 环境(最好是 Android studio)中构建应用程序而不在 APK 文件中包含类依赖项?

java kotlin android-studio exception
1个回答
0
投票

不幸的是,没有简单的方法可以排除仅一个第三方类。尽管如此,您可以排除整个依赖性。

如果您希望库在编译时存在但不在运行时存在,请将其与

compileOnly
而不是
implementation
包含在您的
build.gradle
中。

如果您想制作 2 个不同的版本(一个带有库,另一个没有库),您可以为其创建

buildType
。有关更多详细信息,您可以参阅有关构建变体的文档

© www.soinside.com 2019 - 2024. All rights reserved.