2016-11-23 2 views
0

以下のgradleを使用して.jarファイルを生成しますAndroid Studio - 他のjarを含むjarファイルをエクスポートするにはどうすればよいですか?

私は以下のgradleを使用してエクスポートすると、.jarファイルを生成できますが、依存するMyJarファイルは添付されていません。

これを達成するための方法
apply plugin: 'com.android.library'//To generate Jar 

android { 
    compileSdkVersion 24 
    buildToolsVersion "25.0.0" 
    sourceSets { 
     main { 
      //Path to My source code 
      java { 
       srcDir 'src/main/java' 
      } 
     } 
    } 
    defaultConfig { 

     minSdkVersion 15 
     targetSdkVersion 24 

    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    testCompile 'junit:junit:4.12' 
    compile files('libs/MyJar.jar')//MyJar When generating the Jar this is not include by gradle? 
} 

//task to delete the old jar 
task deleteOldJar(type: Delete) { 
    delete 'release/ExportedJar.jar' 
} 

//task to export contents as jar 
task exportJar(type: Copy) { 
    from('build/intermediates/bundles/release/') 
    into('release/')  
    include('classes.jar') 
    //include('MyJar.jar')//Tried this but No luck  
    rename('classes.jar', 'ExportedJar.jar') 
} 

exportJar.dependsOn(deleteOldJar, build) 

...はどのturnaround.Thanksはあなたが達成したい何アドバンス

答えて

0

でありことは、いわゆる「脂肪ジャー」を構築することです。あなたはlibフォルダからのみ.jar年代を追加したい場合は、その後、

gradlew fatJar 

あなたのライブラリーのbuild.gradleに別のタスクを追加します。

task fatJar(type: Jar) { 
    baseName = project.name + '-all' 
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } 
    with jar 
} 

と、コマンドラインから呼び出しますbuild.gradleに追加:

jar { 
    into('lib') { 
     from 'libs' 
    } 
} 

コマンドラインから起動します。あなたの迅速なreply..gotため

gradlew :{library_module_name}:jar 
+0

こんにちはZagorskiおかげで、このエラーは、タスクのために、未知のプロパティ「jarファイル」を取得できませんでした「:アプリ:fatJar」 –

+0

あなたのケースでは、それは意志'exportJar'になります。 –

関連する問題