• Android studio怎么使用自定义的framework而避免冲突报错和点不进去报红。


    文件:xxproject_abcvideouild.gradle
    保证可以运行到自定义的framework而不报错,可能因为project和module名字相同所以导致下面的路径是绝对路径,
    其他人使用需要修改这个文件的路径

    allprojects {
        repositories {
            jcenter()
        }
        // 保证可以运行到自定义的framework而不报错,可能因为project和module名字相同所以导致下面的路径是绝对路径
        gradle.projectsEvaluated {
            tasks.withType(JavaCompile) {
                options.compilerArgs.add('-Xbootclasspath/p:D:xx-video\libs\framework_classes.jar')
            }
        }
    }



    文件:MXproject_xxxxvideoxx-videouild.gradle
    目的是可以消除调用自定义framework引起的报红,其他项目如果要移植的话要注意修改iml文件名

    task pushDownJdkDependency {
        def imlFile = file("mp-video.iml") // 原本是可以用project.name + ".iml"来代替的,但是因为project和module名字相同所以导致iml文件名字比较特殊
        try {
            def parsedXml = (new XmlParser()).parse(imlFile)
            def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' }
    
            parsedXml.component[1].remove(jdkNode)
            def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform"
            new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK'])
            def writer = new StringWriter()
            new XmlNodePrinter(new PrintWriter(writer)).print(parsedXml)
            imlFile.text = writer.toString()
        } catch (FileNotFoundException e) {
            // nop, iml not found
        }
    }


    文件:MXproject_xxxxvideomd-videolibsframework_classes.jar

    // compile fileTree(include: ['*.jar'], dir: 'libs')      // 不注释会导致编译很慢
    provided files('libs/framework_classes.jar')              // 调用但不编译进代码


  • 相关阅读:
    token
    id
    vim
    http_proxy
    brew
    认证
    go
    linux 磁盘管理
    vmware
    vmware fusion
  • 原文地址:https://www.cnblogs.com/lipeineng/p/8526711.html
Copyright © 2020-2023  润新知