gradleパッケージ指定パッケージとクラスのjar

1581 ワード

sdk生成jarを開発するにはeclipseで比較的扱いやすく、classをエクスポートする際にどこでエクスポートするかを指定すればよいが、Android Studioで開発する際にjarをエクスポートするのはそんなに簡単ではなくgradleスクリプトを書く必要があるが、gradleスクリプトの入門コストはやはり高く、ネット上ではjarをパッケージするスクリプトの参考もあるが、classesを生成することが多い.jarの名前を変更して生成します.このように生成されたjarはプロジェクト内のすべてのクラスを含み、jarを生成するためにパッケージとクラスを指定する必要がある場合があります.次はリファレンススクリプトです.
  task clearJar(type: Delete) { 
        delete 'libs/sdk.jar' 
  } 

  task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
        //     jar 
        baseName 'sdk'
        //     class  
        from('build/intermediates/classes/debug/org/cmdmac/cloud/pluginsdk/')
        //   jar       
        into('org/cmdmac/cloud/pluginsdk/')
        //              
        exclude('test/', 'BuildConfig.class', 'R.class')
        //  R$      
        exclude{ it.name.startsWith('R$');} 
    } 

    makeJar.dependsOn(clearJar, build)

在build.gradleを書くと、コマンドラインでgradle makeJarを実行すればbuild/libsディレクトリの下でjarを見つけることができます.
パッケージの下にあるサブパッケージまたはファイルのみを打つ場合は、次の例を参照してください.
    task makeSdkJar(type:org.gradle.api.tasks.bundling.Jar) {
        baseName 'pluginsdk'
        //   org.cmdmac  org.cmdmac.pluginsdk.impl org.cmdmac.gamecenter,           
        from('build/intermediates/classes/debug/org/cmdmac/') {
            include 'pluginsdk/impl'
            include 'gamecenter'
        }
        into('org/cmdmac/')
    //    exclude('R.class')
    //    exclude{ it.name.startsWith('R$');}
    }