.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') //这几行是没用的
}
说明:
输出的是apk文件, 输出位置在:
src/chrome/android/java/build/outputs/apk/chrome-debug.apk依照第一条依赖规则, 根本没必要写, “//这几行是没用的”,
去掉后编译也可以通过, 说明写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.———–