【问题标题】:How to add a 3rd party local maven repository to android project如何将第 3 方本地 maven 存储库添加到 android 项目
【发布时间】:2020-09-14 15:33:25
【问题描述】:

我已经获得了一个可以使用的 SDK,其中包含一个 maven-local-metadata 文件、一个 .aar 文件、.pom 文件和 .jar 文件。如何将其添加到我的项目中。我尝试将其粘贴到本地 .m2 文件,但它不起作用(有什么特定的方法)并且在文件选项中添加为新的 .aar/.jar 模块也不起作用。 任何帮助将不胜感激。

【问题讨论】:

    标签: java android maven android-studio jar


    【解决方案1】:

    在你的根目录中创建 libs 文件夹,然后在其中添加你的文件查看截图

    然后在 BuildGradle(项目)上

    allprojects {
        repositories {
            google()
            jcenter()
            flatDir {
                dirs 'libs'
            }
    
        }
    }
    

    【讨论】:

    • 我是否添加了 libs 文件夹中的所有文件(.aar、.pom、.jar),我添加了 .jar 但它不起作用
    • 我这样做了,但它给出了这个错误:Cannot open a library at 'FileMapping(from=C:\AndroidProjects\project-sdk-2\SDK-Sample-app-master\app\libs\ sdk-0.0.1-sources.jar,to=C:\Users\{用户名}\.gradle\caches\transforms-2\files-2
    • 从您的项目文件夹中删除 .idea 文件夹,然后再次同步并运行它会起作用
    • 它没有用,我已经编辑了我的问题以包含项目结构的图像,您可以看看它并查看它的实现。
    • 只需删除带有 libs 文件夹的 build 文件夹,然后再次尝试同步
    【解决方案2】:

    当指向驻留在系统中的依赖项时,您可以创建一个 lib 文件夹并复制/移动 jar 文件,但请确保在 pom.xml 中指定 jar 文件的位置

    <dependency>
       <groupId>com.some.group</groupId>
       <artifactId>jar-name</artifactId>
       <version>1.0</version>
       <scope>system</scope>
       <systemPath>${basedir}/lib/yourJar.jar</systemPath>
    </dependency>
    

    【讨论】:

    • 所以我移动了 jar 文件而不是 .pom 和 .aar 文件,并在 .pom 文件中使用了新路径。对吗?
    • 正确!将 jar 文件放在项目中的目录 (lib) 中,然后按照我之前的答案中指定的方式引用该 jar。
    【解决方案3】:

    只需以正确的结构添加本地 .m2 存储库中的文件即可。无需添加到 libs 文件夹中。

    注意 - 如果将 .aar 文件作为模块使用

    【讨论】:

    • 您从“我尝试将其粘贴到本地 .m2 文件,但它不起作用”变为“只需以正确的结构将文件添加到本地 .m2 存储库中就可以了”。 .. 描述您对本地 .m2 所做的更改会很棒。
    • @EugenioLopez,抱歉回答不好。我做错的是.m2文件夹中的文件夹结构与项目文件夹结构不同
    • 哦,知道了,感谢您的回复。由于某种原因,.m2 路线对我不起作用,即使我有一个类似的文件夹结构减去 jar。我通过提取并导入 .aar 文件使其工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2014-03-28
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多