Android依存プロジェクトパッケージaarの優れた方法

2183 ワード

aarパッケージにすると、コンパイル時間を減らすことができるそうです.そして試してみましたが、あまりアップしていないような気がします!忘れないように、梱包の過程を記録します.結局、この方法は、本人が考えた上で、考えたほうがいい方法です.aarパッケージをコピーする必要はありません.
制限条件:依存するプロジェクトをappが存在するプロジェクトに参照する必要があります.私の習慣は、直接プロジェクトを引用するのが好きで、いつでもコードを修正するのに便利です.
  • アプリケーション.appにある工事のsettings.gradleに
  • を追加
    include ':yourLibrary'
    //           ,      app           
    project(':yourLibrary').projectDir = new File('../LibProject/yourLibrary')
    
  • mavenを構成します.appが存在する工事(すなわちプロジェクトルートディレクトリ)のbuild.gradleでの構成
  • buildscript {
        repositories {
            /*jcenter()*/
            maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            /* maven     */
            classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
            classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        }
    }
    ......
    
  • は、プロジェクトの構成に依存します.依存するプロジェクトのbuild.gradleに構成
  • を追加
    //apply plugin: 'com.android.library'apply plugin: 'java'
    apply plugin: 'groovy'
    apply plugin: 'maven'
    android {
     ......
    }
    dependencies {
      ......
    }
    //         ,         group version,     uploadArchives    
    group = 'com.sckiven.libraryName'
    version = '1.0'
    uploadArchives {
        repositories {
            flatDir {
                name 'pcLocal'
                dir "$parent.rootDir/maven/aars"
            }
        }
    }
    
  • でgradleタスクを実行できます.Android StudioのGradleタスクウィンドウ、対応するリファレンスライブラリ(上のyourLibrary)の下のuploadディレクトリの下で、ダブルクリックして実行できます.
  • appプロジェクトを構成します.appプロジェクトのbuild.gradleに構成
  • を追加
    apply plugin: 'com.android.library'
    android {
     ......
    }
    //     
    repositories {
        flatDir {
            dirs "$parent.rootDir/maven/aars"
        }
    }
    dependencies {
      ......
    // 'libraryName-1.0':   'com.sckiven.libraryName'     。         maven/aars   aar  ,         。
    compile(name: 'libraryName-1.0', ext: 'aar')
    }
    
  • の2つのdirsのディレクトリを直接ディレクトリに変更することで、プロジェクト間パッケージ呼び出しaarを実現することができます.dirsはローカルmavenライブラリでしょう.