# MyJarAar **Repository Path**: android100/MyJarAar ## Basic Information - **Project Name**: MyJarAar - **Description**: jar aar的生成,Java和Android library的对比 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-05-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # android library (可生成 aar) ``` //aar依赖 apply plugin: 'com.android.library' ``` ![](imgs/11.png) ![](imgs/12.png) # Java library (可生成 jar) ``` //jar依赖 apply plugin: 'java-library' ``` ![](imgs/21.png) ![](imgs/22.png) # android application (可生成 apk) ``` //apk应用 apply plugin: 'com.android.application' ``` ![](imgs/31.png) ![](imgs/32.png) # 自定义gradle文件的引用: config.gradle(与app的 build.gradle同级): ``` ext { isBookApplication = false //book模块开关,false:作为Lib组件存在, true:作为application存在 android = [ compileSdkVersion: 28, buildToolsVersion: "28.0.3", minSdkVersion : 17, targetSdkVersion : 28, versionCode : 1, versionName : "1.0.0", applicationId : "com.example.myjaraar", ] version = [ androidSupportSdkVersion: "28.0.0", retrofitSdkVersion : "2.4.0", glideSdkVersion : "4.8.0", canarySdkVersion : "1.5.4", constraintVersion : "1.0.2", okhttp : "3.8.1" ] dependencies = [ //support "appcompat-v7" : "com.android.support:appcompat-v7:${version["androidSupportSdkVersion"]}", "design" : "com.android.support:design:${version["androidSupportSdkVersion"]}", "palette" : "com.android.support:palette-v7:${version["androidSupportSdkVersion"]}", "support-v4" : "com.android.support:support-v4:${version["androidSupportSdkVersion"]}", "cardview-v7" : "com.android.support:cardview-v7:${version["androidSupportSdkVersion"]}", "annotations" : "com.android.support:support-annotations:${version["androidSupportSdkVersion"]}", "recyclerview-v7" : "com.android.support:recyclerview-v7:${version["androidSupportSdkVersion"]}", "constraint-layout" : "com.android.support.constraint:constraint-layout:${version["constraintVersion"]}", "percent" : "com.android.support:percent:${version["androidSupportSdkVersion"]}", "dynamic" : "com.android.support:support-dynamic-animation:${version["androidSupportSdkVersion"]}", "multidex" : "com.android.support:multidex:1.0.2", //network "retrofit" : "com.squareup.retrofit2:retrofit:${version["retrofitSdkVersion"]}", "retrofit-converter-gson" : "com.squareup.retrofit2:converter-gson:${version["retrofitSdkVersion"]}", "retrofit-adapter-rxjava2": "com.squareup.retrofit2:adapter-rxjava2:${version["retrofitSdkVersion"]}", "okhttp" : "com.squareup.okhttp3:okhttp:${version["okhttp"]}", "logging-interceptor" : "com.squareup.okhttp3:logging-interceptor:${version["okhttp"]}", "rxandroid2" : "io.reactivex.rxjava2:rxandroid:2.1.0", "rxjava2" : "io.reactivex.rxjava2:rxjava:2.1.11", "rxrelay" : "com.jakewharton.rxrelay2:rxrelay:2.0.0", "retrofit-adapter-rxjava" : 'com.squareup.retrofit2:adapter-rxjava:2.1.0', "rxandroid" : "io.reactivex.rxjava2:rxandroid:1.2.1", "rxjava" : "io.reactivex.rxjava2:rxjava:1.2.1", //router "router" : "com.alibaba:arouter-api:1.4.1", "router-compiler" : "com.alibaba:arouter-compiler:1.2.2", //image "glide" : "com.github.bumptech.glide:glide:${version["glideSdkVersion"]}", "glide-compiler" : "com.github.bumptech.glide:compiler:${version["glideSdkVersion"]}", "glide-transformations" : "jp.wasabeef:glide-transformations:3.3.0", "picasso" : "com.squareup.picasso:picasso:2.5.2", "takephoto" : "com.jph.takephoto:takephoto_library:4.0.3", "imagepicker" : "com.lzy.widget:imagepicker:0.5.0", //view "tablayout" : "com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar", "flowlayout" : "com.zhy:flowlayout-lib:1.0.3", //tools "eventbus" : "org.greenrobot:eventbus:3.0.0", "dagger" : "com.google.dagger:dagger:2.13", "utilcode" : "com.blankj:utilcode:1.12.5", "easypermissions" : "pub.devrel:easypermissions:1.0.1", ] } ``` app的 build.gradle 添加: ``` //添加: apply from: 'config.gradle' buildscript { } allprojects { } task clean(type: Delete) { } ``` app 的 build.gradle 中使用: ``` apply plugin: 'com.android.application' android { def android = rootProject.ext.android compileSdkVersion android["compileSdkVersion"] buildToolsVersion android.buildToolsVersion defaultConfig { applicationId android.applicationId minSdkVersion android.minSdkVersion targetSdkVersion android.targetSdkVersion versionCode android.versionCode versionName android.versionName } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') def dependencies = rootProject.ext.dependencies implementation dependencies["constraint-layout"] implementation dependencies["appcompat-v7"] implementation dependencies.design implementation project(':myandroidlibrary') implementation project(':MyJavaLibrary') } ``` android library 的build.gradle 中使用: ``` apply plugin: 'com.android.library' android { def android = rootProject.ext.android compileSdkVersion android["compileSdkVersion"] buildToolsVersion android.buildToolsVersion defaultConfig { minSdkVersion android.minSdkVersion targetSdkVersion android.targetSdkVersion versionCode android.versionCode versionName android.versionName } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) def dependencies = rootProject.ext.dependencies implementation dependencies["appcompat-v7"] } ```