当前位置: 首页 > 知识库问答 >
问题:

具有不同依赖关系和相同类文件的Android口味

桂鑫鹏
2023-03-14
import haibison.android.lockpattern.LockPatternActivity;    

private void showLockPattern() {
    if (BuildConfig.IS_VERSION_PRO) {
        Intent intent = new Intent(LockPatternActivity.ACTION_VERIFY_CAPTCHA, null, this, LockPatternActivity.class);
        startActivityForResult(intent, PATTERN_ID);
    }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == PATTERN_ID && resultCode == Activity.RESULT_OK) {
        Log.i("App", "OK!");
    }
}

在app.gradle中,我只为专业版添加了LockPattern库:

dependencies {
    proCompile 'com.github.haibison:android-lockpattern:6.0.0'
}

我在两种风格中都描述了相同的类(所以在主文件夹中),因为它很大,我不想在两种风格中重复代码。pro版本成功构建,但lite版本显示了一个错误,因为我没有导入lite版本的依赖项。

我看到的一个解决方案是将lockpattern库添加到两种口味中,然后使用proGuard,将其从lite口味中删除。虽然我相信这可能奏效,但这可能不是最顺利的选择。当然,我也可以简单地忽略lite风格中未使用的库的开销。

共有1个答案

微生鸿轩
2023-03-14

Lite版本没有编译,因为java找不到LockPatternActivity。对于这种情况,您可以使用以下解决方案

你需要上一堂风味专业的课

public final class LockPatternHelper {
    private LockPatternHelper() {}

    public static void showLockPattern() {
         Intent intent = new Intent(LockPatternActivity.ACTION_VERIFY_CAPTCHA, null, this, LockPatternActivity.class);
         startActivityForResult(intent, PATTERN_ID);
    }
}

在lite中,它应该与空方法showLockPattern()是同一个类。

public final class LockPatternHelper {
    private LockPatternHelper() {}

    public static void showLockPattern() {}
}
 类似资料:
  • 我正在使用war插件为我在Gradle中的项目生成一个简单的.war文件。我想知道如何配置gradle,这样我就可以创建4个不同的.war文件,这些文件具有不同的依赖关系。 null 下面的示例创建了一个只包含一个jar的war文件,但我希望使用不同的jar生成5个不同的.war文件。 Build.Gradle

  • 我正在将我的一个应用程序转换为Gradle,并希望使用新的构建风味功能,以有一个付费和免费的广告为基础的风味。 我希望只有基于广告的版本依赖于admob SDK。 我的生成文件如下所示: 是否有一种方法可以在免费产品版本中配置依赖项,使其拥有自己的libs文件夹,该文件夹与包含两种版本通用库的主libs文件夹合并? 如果这是可能的,我将如何定义这个文件夹?

  • 当我在实现的bean中取消对接口的注释时,服务器启动时不会出现任何错误。我错过了什么?

  • 问题内容: 我有一个使用测试范围的库L v1.0.0的项目A。项目A还依赖于项目B(具有范围编译),而B则可传递地依赖于库L v1.0.0(具有范围编译)。 为什么项目A的库L的最终范围是“测试”?它在运行时导致我NotClassDefFoundError。似乎库L上项目A的依赖项定义覆盖了L上的传递性依赖项。 怎么了 我的项目A仅将L用于单元测试,因此我定义了“测试”范围的依赖项。但是,最后,我

  • 我有一个由maven管理依赖关系的多模块项目。 我在子模块“插件”中有多个插件。我想在不同的场景中添加不同的插件,但在每个场景中都需要一些插件。 “插件”模块中的pom.xml。 无论我运行“mvn包”还是“mvn包-P内部”,它只包含第二个模块作为依赖项。有人知道原因吗? 我的maven版本是3.3.9

  • 我有麻烦运行一个JAR文件从终端有本机和. jar依赖关系。好吧,我的目标不是从终端运行它,而是使用Java的Runtime.getRuntime(). exec函数作为一个单独的进程运行它,但是如果我不能从终端运行它,那么我也不能通过它运行它。我试图运行的JAR文件依赖于许多其他jar文件以及许多. so库。我试图把所有的. jar依赖和. so依赖放在自己的文件夹中,然后运行jar文件: 其中