java - 如何将库(不可编辑的.java/.class文件)转换为可编辑的.java文件(项目中的标准类)?

标签 java android maven android-studio libraries

我正在与 Paho project for Android 合作。根据说明,在测试Android示例应用程序时,需要在项目中包含AndroidService.jarJavaClient.jar。我将它们导入到 Android Studio 中,应用程序运行良好。

但是,这就是我的问题,我想编辑这些预编译的 java 类。但问题是,由于它们是作为 .jar 文件导入的,并且它们已经编译过,所以它们在 Android Studio 中是不可编辑的。

我有我想要包含到项目中的库的源代码。不幸的是,当我在 Android Studio 中导入它们时,我遇到了一堆错误(当我导入 .jar 文件时通常不会遇到这些错误)。

到目前为止我尝试过的方法是通过创建具有相同名称和内容的新类来将源java类复制到项目中。我还尝试将整个源项目作为模块导入到我的项目中。我遇到同样的错误。我还知道this great fork Paho 项目的一部分,让您只需在 Android Studio 中导入整个项目即可运行。但是,AndroidService 类仍然不可编辑。

正如我所说,我有所需的源代码。我可以从源头毫无问题地生成这些 .jar 文件,然后将它们导入到项目中。这个方法有效。但是编辑 java 类,然后编译它们,然后将它们导入 Android Studio 中以测试所有内容,并且每次更改某些内容时都要执行此操作,有点累。这就是我寻求帮助的原因。

请告诉我,如果您知道某种方法可以让我在 Android Studio 中编辑这两个“”,以便我可以立即测试所做的更改。

P.S.我已经在谷歌上搜索了很多次,我相信网上没有现成的解决方案。不过,如果你找到了,请指出它,我会非常高兴。

最佳答案

首先,我不知道你为什么要编辑 Paho Android 服务,因为它没有多大意义。如有必要,您可以覆盖每个类。无论如何,您都需要将 Android 服务构建从 Maven 更改为 Gradle,以将源代码包含到您的项目中。

为了帮助您,我刚刚完成了此操作并将其推送到我的存储库的“withSouce”分支。 https://github.com/sandro-k/org.eclipse.paho.android.service.sample/tree/withSource

如果您现在还想用您的源代码替换编译 org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.0.2 ,您必须将其替换为本地依赖性也一样。

关于java - 如何将库(不可编辑的.java/.class文件)转换为可编辑的.java文件(项目中的标准类)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31094178/

相关文章:

java - 从 Maven 项目生成分发

android - 使用 OnTouchEvent 移动 View

android - Android 应用程序中的系统身份验证

java - 带有 log4j2.properties 的 Sentry

java - EJB、休息、JPA NullPointerException

Android minSdkVersion

Eclipse Maven - 在提交到 GitHub 之前自动增加 pom 版本?

java - 如何创建 dspace docker 工作空间?

就餐哲学家的Monitor类中的java.lang.IllegalMonitorStateException

java - 我如何最好地 catch Java 的最新发展?