導航:首頁 > 程序命令 > gradle打包apk命令

gradle打包apk命令

發布時間:2023-11-16 20:19:59

㈠ 如何使用gradle構建工具打包groovy腳本成jar文件

准備工作安裝 gradle, groovy。
要使用gradle的groovy plugin 來打包groovy 腳本,項目結構。
目錄 含義
src/main/java Java 代碼
src/main/resources Java需要的資源文件
src/main/groovy Groovy代碼,也可以包含Java代碼
src/test/java Java 測試代碼
src/test/resources 測試需要的資源文件
src/test/groovy Groovy測試需要的資源文件
src/sourceSet/java Java代碼源
src/sourceSet/resources 資源文件源
src/sourceSet/groovy Groovy代碼源
我們只需要編譯打包groovy腳本 所以只需要創建 src/main/groovy目錄結構。例子:
gradle_groovy_archive項目 結構是:
gradle_groovy_archive

創建helloWorld.groovy腳本,代碼如下:
package hello
println 'Gradle compile groovy'

創建Gradle構建文件:
apply plugin: 'groovy'
apply plugin: 'maven'

group = 'com.hello'
archiveBaseName = 'hello'
version = '0.1-SNAPSHOT'

defaultTasks 'clean', 'jar'

configurations {
deployerJars
}

repositories {
mavenCentral()
}

dependencies {
//使用本地groovy環境
groovy localGroovy()
//groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.8.6'
compile fileTree( dir: 'lib', include: ['*.jar'])

deployerJars 'org.apache.maven.wagon:wagon-webdav-jackrabbit:1.0-beta-7'
}

sourceSets {
main {
groovy {
srcDir 'src/main/groovy'
}
}
}

uploadArchives {
repositories.mavenDeployer {
uniqueVersion = false
configuration = configurations.deployerJars
repository(id : repositoryId, url : repositoryUrl) {
authentication (userName : 'deployment', password : 'deployment')
proxy()
}
}
}

創建構建文件屬性文件:
//根據不同情況修改
repositoryId=ND
repositoryUrl=ND
systemProp.http.proxyHost=ND
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=ND
systemProp.http.proxyPassword=ND

命令行中 敲 gradle 運行,會自動運行 defaultTasks,clean 和 jar,會把 所有groovy下的腳本打成jar包。

android gradle打包生成兩個包,怎麼去掉debug版本

Gralde 打包參數詳解

上面說了一大堆東西,其實並不吸引人去使用gradle,如果只是構建項目的話,adt不是更合適嗎?如果,你看完以下內容還是這么覺得的話,你就沒必要折騰gradle了。。。。。。

打簽名包

看附錄 默認輸出 release apk 是沒有簽名的,那麼我們需要簽名的很簡單,只需要在android{}裡面補充加上加上即可。完整build.gradle 請點擊我的gist

build.gradle

signingConfigs {
myConfig{
storeFile file("gradle.keystore")
storePassword "gradle"
keyAlias "gradle"
keyPassword "gradle"
}
}

buildTypes{
release {
signingConfig signingConfigs.myConfig
}
}

然後,運行gradle clean gradle build ,這次在build/apk 你看到了多了一個[項目名]-release-unaligned, 從字面上面我就可以知道,這個只是沒有進行zipAlign 優化的版本而已。而[項目名]-release 就是我們簽名,並且zipAlign 的apk包了. ###打混淆包### 只需要在原來的基礎上加上,完整的proguad.gradle 代碼 build.gradle

gradle clean

gradle build

打多渠道包(Proct Flavor)

現在來解釋一下上一節的問題,apk目錄下的兩個apk 的含義

為什麼產生了兩個apk?

默認的android gralde 插件定義了兩種apk 的類型debug, release,這兩種類型的詳細對比看附錄。

這個是android gralde 插件 buildTypes{} 方法產生的,默認配置好了兩個默認模板,當然你也可以修改,前面我們就是在修改默認的release 的配置,讓輸出release類型的的apk,具有簽名和混淆。

對於多渠道包,android 插件提供了一個名為Proct Flavor{} 的配置,用於進行多渠道打包。

例如,我的android應用有海外版,和國內版本,而且這兩個版本的包名是不一樣的!!(我就舉兩個市場的例子安裝這個思路,你要打包100個不同的市場只是幾行代碼的事情。)。

你只需要在android{} 補充上

build.gradle

proctFlavors {
playstore {
packageName='com.youxiachai.androidgradle.playstore'
}
hiapk {
packageName='com.youxiachai.androidgradle.amazonappstore'
}
}
僅此而已?然後gradle clean,gradle build,在build/apk 下面你會看到一堆的包,命名格式[項目名]-[渠道名]-release

Proct Flavor{} 不只是能改包名那麼簡單,還能夠對編譯的源碼目錄進行切換。

什麼意思? 不知道各位有沒有用過友盟做用戶統計,如果,你用的是分發渠道分析,你需要修改AndroidManifest.xml 添加上

如果,你很多渠道,,然後你就會很痛苦,現在用gradle 就非常舒服,你只需要在android.sourceSets指定我們的渠道名就行,android gradle 插件,會自動打包!!!例如

build.gradle

sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}

hiapk {
manifest.srcFile 'hiapk/AndroidManifest.xml'
}
playstore {
manifest.srcFile 'hiapk/AndroidManifest.xml'
}

instrumentTest.setRoot('tests')

}

然後運行gradle clean,gradle build,省下的時間去喝杯咖啡,睡個覺什麼的都好。。。 ###外部依賴### android gradle 對於外部jar 包的應用支持maven/ivy 管理的包,也支持指定具體文件,前面已經在上文說過。上面演示的完整 build.gradle gist 裡面也有寫。你需要加上如下代碼即可: build.gradle

閱讀全文

與gradle打包apk命令相關的資料

熱點內容
r1234yf汽車空調壓縮機 瀏覽:143
ftp伺服器地址欄 瀏覽:898
linux圖形分區 瀏覽:963
安徽到遼寧源碼 瀏覽:575
libs安卓的文件夾叫什麼 瀏覽:869
生意圈app是什麼意思 瀏覽:395
linuxarcgisserver 瀏覽:234
加密pdf怎麼修改文件 瀏覽:138
紅米刷機無命令怎麼辦 瀏覽:356
啥叫美國谷歌外包程序員 瀏覽:260
雲伺服器管家婆 瀏覽:440
發郵件命令 瀏覽:354
程序員好做嗎工作好嗎 瀏覽:886
雲電腦伺服器維護一個月多少錢 瀏覽:882
有沒有什麼app數學題型較多 瀏覽:341
政策pdf 瀏覽:295
有什麼好玩的文娛app 瀏覽:811
python教學合集 瀏覽:959
有什麼好用的小眾app嗎 瀏覽:118
芋道app源碼 瀏覽:448