浏览器各模块的编译依赖关系总结

.aar文件与.jar文件的区别

两者区别:
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含

Gradle 的一些基本依赖配置方式如下:
输出 apk :apply plugin: 'com.android.application'
输出 aar : apply plugin: 'com.android.library'

compile fileTree(dir: 'xxx', include: ['*.jar', "*.xxx"]):将某个目录下所有符合扩展名的文件作为依赖;
compile 'com.xx.xx:ProjectName:Version':配置Maven` 库作为依赖;在 Maven 库中心(http://search.maven.org/#search) 可以搜索自己想用的库进行依赖;
compile project(':AnotherModule'):配置另一个 Module 作为本 Module 的依赖,被依赖的 Module 必须被导入到当前工程中;
compile files('xxx.jar'):配置某个 jar 包作为依赖。
以src/chrome/android/java/build.gradle为例:
apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', exclude: 'android-support-multidex.jar', include: '*.jar') //将libs目录下的所有*.jar作为依赖, 除了android-support-multidex.jar
    compile 'com.android.support:multidex:1.0.0'  //使用Maven库中的multidex作为依赖
    compile project(':mediaplayer')
    compile project(':web_contents_delegate_android')
    compile project(':browser_I')
    compile project(':chromium_gen')
    compile project(':hostlib')
    compile files('libs/decrawso.jar') //这几行是没用的
    compile files('libs/qihoospeechrecognition.jar') //这几行是没用的
    compile files('libs/QHStatAgent.jar') //这几行是没用的
    compile files('libs/adsdk_0.1.16.1125.jar') //这几行是没用的
    compile files('libs/andfix.jar') //这几行是没用的
    compile files('libs/opensdk-release.jar') //这几行是没用的
    compile files('libs/BluewareAgent.jar') //这几行是没用的
}

说明:

  1. 输出的是apk文件, 输出位置在:
    src/chrome/android/java/build/outputs/apk/chrome-debug.apk

  2. 依照第一条依赖规则, 根本没必要写, “//这几行是没用的”,
    去掉后编译也可以通过, 说明写build.gradle的开发对gradle的依赖规则并没有充分了解.

再以src/chrome/android/chromium_gen/build.gradle为例:
apply plugin: 'com.android.library'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':base')
    compile 'com.android.support:appcompat-v7:23.1.1' //使用Maven库中的appcompat作为依赖
    compile 'com.android.support:support-v13:23.1.1' //使用Maven库中的support作为依赖
}

说明:
输出的是aar文件, 输出位置在:
src/chrome/android/chromium_gen/build/outputs/aar/chromium_gen-debug.aar

——DONE.———–

    原文作者:ahking17
    原文地址: https://www.jianshu.com/p/f6ecc8b5620c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞