美文网首页
AndroidStudio 使用系统的jar包编译但不打包

AndroidStudio 使用系统的jar包编译但不打包

作者: ncd | 来源:发表于2019-12-11 15:53 被阅读0次

    以下以classed.jar为例
    1.将jar包复制到libs目录下,右键add as libraries
    此时你会在app下的build.gradle中看到对此jar包的引用

    image.png
    因为implementation fileTree(dir: 'libs', include: ['*.jar'])这一句是对libs目录下所有jar包的引用,所以如果需要在编译时打包jar,则可去掉对classes.jar的单独引用:
    image.png

    2.如果只想使用此jar包编译,不需要将jar包编译进apk,则需要作出如下更改:


    image.png

    可以看到注释了第一句对libs目录的统一处理(如果libs目录有需要打包进apk的jar需单独处理),classes.jar的引用从implementation改为了compileOnly,这样就不会打包进apk,只是不让apk编译通过。

    3.如果jar包是framework.jar,且接口与SDK中的android.jar有不同,要优先使用自己的接口,则需要早工程目录下的build.gradle作出如下修改:


    image.png

    即添加了

    gradle.projectsEvaluated {
                tasks.withType(JavaCompile) {
                    options.compilerArgs << '-Xbootclasspath/p:app/libs/classes.jar'
                }
            }
    

    这样会让自己的jar包优先于andorid.jar

    相关文章

      网友评论

          本文标题:AndroidStudio 使用系统的jar包编译但不打包

          本文链接:https://www.haomeiwen.com/subject/nstmuctx.html