【问题标题】:How do I import an Android library and use it in both production code and tests?如何导入 Android 库并在生产代码和测试中使用它?
【发布时间】:2011-05-27 13:45:39
【问题描述】:

我已经从我的应用程序中提取了一堆功能到一个库中。问题是我想在生产代码和测试中使用库类。问题是我的应用程序、我的库和测试代码是独立的模块,因此应用程序代码和测试代码都需要依赖于库。当我尝试编译测试模块时,出现以下错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: (some class)

这很神秘,但它试图说我曾多次尝试将同一个类添加到.dex 文件中。这并不奇怪,因为测试代码在编译时取决于库代码和应用程​​序,这也取决于编译时的库。如何设置我的依赖项(或更改我的代码)以避免这种情况?

注意:我使用的是 IntelliJ IDEA 10.5 CE,所以我使用他们的术语,但我认为问题至少在概念上与 IDE 无关。

【问题讨论】:

    标签: java android intellij-idea android-library


    【解决方案1】:

    这是 IDEA 中的一个错误,我们已经提交了一个问题,please watch/vote

    【讨论】:

    • 非常感谢。当它修复后,我会接受你的回答。
    【解决方案2】:

    您好,我觉得同一个 jar 使用不同的方式多次添加。

    在你的项目中放jar有两种方式

    Right on Project->Properties->Java Build Path->Add Jars->
    Right on Project->Properties->Java Build Path->Add External jars->
    

    首先删除所有罐子。在您的应用程序文件夹中创建一个文件夹,其中放置所有必需的 jar。

    Right on Project->Properties->Java Build Path->Add Jars-> select your project folder and select the jar file
    

    谢谢 迪帕克

    【讨论】:

    • 感谢您的回复,迪帕克。我的问题略有不同,因为我的库不是一个简单的 .jar。这是一个 Android 库项目,所以我将它作为一个单独的模块导入并添加了一个模块依赖项。
    猜你喜欢
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多