gradle命令編譯
⑴ Android Studio中gradle命令指定打jar包...
近期在項目中需要對網路訪問介面進行jar封裝。
在eclipse中進行指定類進行打jar包很簡單,但是在android studio中則有點困難,其主要的原因是需要掌握gradle命令形式。接下來就直接上干貨。
首先,在你需要進行分裝jar的模塊進行build.gradle文件下進行以下添加:
然後在Windos CMD中跳轉到你的項目路徑下,然後執行gradle makeJar命令,如果提示:gradle命令不可用。那麼你需要在你的系統環境變數中進行變數的添加:
找到你的gradle插件路徑進行添加,然後再在path屬性的末尾進行
「;%GRADLE_HOME%\bin」添加。
然後輸入 "gradle -v"或者"gradle -version"都可以.
如圖就說明gradle配置成功了。
然後再cmd命令到你的項目路徑下,然後再次輸入gradle makeJar回車,
這里提示我們在我需要進行jar分裝的模塊出錯了, 我們按照錯誤提示進行修改 ,在buold.gradle文件中添加
lintOptions {
abortOnErrorfalse
}
然後點擊Sync Now。再次運行gradle makeJar。然後再一長串的編譯後在末尾看到
然後我們在項目模塊的build/libs文件夾下看到了我們命名的.jar文件
OK,到此就結束了。上面是個簡單的例子,只能打包某個包下面的所有文件,如果要實現只打某個包下面的某些子包或者文件可參考如下示例:
taskmakeSdkJar(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$');}
taskmakeSdkJar(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$');}
}