知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
使用Gradle打包apk
發(fā)表時(shí)間:2020-11-13
發(fā)布人:葵宇科技
瀏覽次數(shù):67
前提
Eclipse 4.4.1
ADT 23.0.4
Gradle 2.2.1
流程:
1.安裝gradle以及配置環(huán)境變量就不多說了,網(wǎng)上搜一下一大堆。
2.首先在eclipse中選中的自己項(xiàng)目,然后export-》Android-》Genearte Gradle build files
此時(shí),會(huì)在項(xiàng)目文件的最下面會(huì)出現(xiàn)一個(gè)build.gradle的文件,這個(gè)就是gradle的自動(dòng)打包的配置文件。
3.我們還需要把項(xiàng)目轉(zhuǎn)為為Gradle項(xiàng)目(如果你創(chuàng)建項(xiàng)目的時(shí)候以及功能選中了Gradle項(xiàng)目,就忽略這個(gè)步驟),選中自己的項(xiàng)目,右擊鼠標(biāo)Configure->Conver to Gradle Project。稍等一會(huì),項(xiàng)目就會(huì)自動(dòng)轉(zhuǎn)化成功。此時(shí)你再右擊項(xiàng)目的時(shí)候就會(huì)出現(xiàn)Gradle這個(gè)選項(xiàng)。
4.我們還需要更新一下Gradle的引用資源,以免打包的時(shí)候出現(xiàn)資源文件丟失,右擊Gradle-》Refresh All。如果出現(xiàn)無法找到資源文件,檢查一下項(xiàng)目的Properties的Java Path的Resource有沒有引用項(xiàng)目的gen和src目錄。
5.配置build.gradle
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.14.+' } } apply plugin: 'android' dependencies { compile fileTree(dir: 'libs', include: '*.jar') ....//你所應(yīng)用的包,這里是每個(gè)項(xiàng)目不同,不需要更改 } android { compileSdkVersion 17 buildToolsVersion "21.1.2" signingConfigs { myConfig{ storeFile file("/home/eminem/my.keystore") //雙引號(hào)里面填是簽名文件的絕對(duì)路徑,我這里的是Ubuntu系統(tǒng) storePassword "簽名的密碼" keyAlias "包名" keyPassword "簽名應(yīng)用的密碼" } } buildTypes{ release { signingConfig signingConfigs.myConfig } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the tests to tests/java, tests/res, etc... instrumentTest.setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } lintOptions { <span style="white-space:pre"> </span>abortOnError false } } }
修改完畢保存。
注意:如果你的項(xiàng)目引用了一些Library Project,你還需要吧整個(gè)項(xiàng)目目錄最外層的項(xiàng)目目錄中的build.gradle的
dependencies { classpath 'com.android.tools.build:gradle:0.14.+' }
修改一下。
6.修改項(xiàng)目中的gradle配置
你還需要修改項(xiàng)目目錄中的gradle-》wrapper-》gradle-wrapper.properties 修改distributionUrl指向的版本
distributionUrl=http\://services.gradle.org/distributions/gradle-2.1-all.zip
7.修改完畢,在終端或者windows下的運(yùn)營中,打開項(xiàng)目的路徑,執(zhí)行g(shù)radle clean 等built的success后再執(zhí)行g(shù)radle build。打包成功后,會(huì)在項(xiàng)目的build-》outputs-》apk
在這個(gè)目錄可以看到四個(gè)apk,分辨是debug版,debug未簽名版,發(fā)布簽版本,發(fā)布未簽版。那需要的apk去用就。
其他:如果你的項(xiàng)目中調(diào)用jni,也就是包含了so文件,這個(gè)時(shí)候你還需要添加這些內(nèi)容
在progurad-project.txt
//noinspection all task copyNativeLibs(type: Copy) { // third party lib so from(new File(projectDir, 'libs')) { include 'armeabi/*.so' } into new File(buildDir, 'native-libs') } tasks.withType(JavaCompile) { compileTask -> //noinspection all compileTask.dependsOn copyNativeLibs } //noinspection all tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> pkgTask.jniFolders = new HashSet<File>() pkgTask.jniFolders.add(new File(buildDir, 'native-libs')) }
在build.gradle中的sourceSets-》main中添加jniLibs.srcDirs=['libs']
sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] }
關(guān)于adt的版本跟gradle的對(duì)應(yīng)關(guān)系,參考這篇文章
http://blog.csdn.net/qq634416025/article/details/40361931
相關(guān)案例查看更多
相關(guān)閱讀
- typescript
- 怎么做網(wǎng)站
- 云南小程序開發(fā)
- 網(wǎng)站建設(shè)首選
- 企業(yè)網(wǎng)站
- 專業(yè)網(wǎng)站建設(shè)公司
- 網(wǎng)站建設(shè)首選公司
- 昆明軟件定制公司
- 國內(nèi)知名網(wǎng)站建設(shè)公司排名
- 汽車拆解系統(tǒng)
- 貴州小程序開發(fā)
- 紅河小程序開發(fā)
- painter
- 汽車回收管理
- 退款
- 制作一個(gè)小程序
- 云南小程序公司
- 昆明網(wǎng)站設(shè)計(jì)
- 網(wǎng)站建設(shè)優(yōu)化
- 昆明小程序開發(fā)聯(lián)系方式
- 云南建設(shè)廳官方網(wǎng)站
- 云南網(wǎng)絡(luò)營銷
- 云南小程序制作
- 云南網(wǎng)站建設(shè)專家
- 小程序模板開發(fā)公司
- 云南做軟件
- 網(wǎng)絡(luò)公司電話
- 百度推廣
- 云南企業(yè)網(wǎng)站
- 智慧農(nóng)貿(mào)市場(chǎng)