java - 如何在Android中包含修改后的第三方库?

标签 java android classpath dex

在我的 Android 项目中,我使用 barcodescanner .

我需要自定义定位二维码时显示的框架矩形的大小,我注意到实现此目的的唯一方法是修改库中的类。

现在我想知道,包含我对库所做的更改的最佳方式是什么?

如果我可以像以前在一些 java 项目中那样简单地将原始包中的类包含在我的源代码中,那就太好了,但是在 Android 中我收到错误:

com.android.dex.DexException: Multiple dex files define Lme/dm7/barcodescanner/core/ViewFinderView;

因为它找到了 2 个具有相同签名的类(1 个在库中,1 个在我的源代码中)。

有没有办法避免这种冲突?或者是否有更好的方法将第 3 方库包含在更改中?

最佳答案

Git 将库项目克隆到您的计算机,进行所需的所有更改,然后将其作为库模块添加到您的项目中:

New module -> import gradle project

将其标记为您的应用模块的模块依赖项:

Open module settings -> dependencies -> add module dependency

从 build.gradle 中删除旧的依赖项以避免

multiple dex files define ...

错误。

关于java - 如何在Android中包含修改后的第三方库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137319/

相关文章:

android - 每次我调用 onDestroy() 并从最近使用的应用程序列表中打开 Activity 时创建的 Intent

java - 获取 Rhino JS 以查看 Java 类

java - 从命令行调用 Java - Linux 与 Windows

java - 抑制 QNMinimizer 的输出

java - 将数组列表添加到首选项

java - 如果值为 null,则保留 FreeMarker 标记

具有多个点击事件的 Android TextView

java - 是否可以对 JUnit 中的每个测试用例使用不同的@Before @After?

android - MultiDex 问题 : java. lang.ClassNotFoundException:在路径上找不到类:DexPathList

java - Spring Maven 从资源文件夹中读取