【移動應(yīng)用開發(fā)技術(shù)】怎么將Android Studio項(xiàng)目打包成jar_第1頁
【移動應(yīng)用開發(fā)技術(shù)】怎么將Android Studio項(xiàng)目打包成jar_第2頁
【移動應(yīng)用開發(fā)技術(shù)】怎么將Android Studio項(xiàng)目打包成jar_第3頁
【移動應(yīng)用開發(fā)技術(shù)】怎么將Android Studio項(xiàng)目打包成jar_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】怎么將AndroidStudio項(xiàng)目打包成jar

這期內(nèi)容當(dāng)中在下將會給大家?guī)碛嘘P(guān)怎么將AndroidStudio項(xiàng)目打包成jar,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。AndroidStudio如何打JAR包在eclipse中我們知道如何將一個(gè)項(xiàng)目導(dǎo)出為jar包,供其它項(xiàng)目使用。在AS中可以通過修改gradle才處理。我們新建一個(gè)項(xiàng)目MakeJar,在項(xiàng)目中新建一個(gè)modle-類型為android-library如圖:app為我們的主工程,librarydemo是我們要將其生成jar包的model.在librarydemo中的build.gradle中與android結(jié)構(gòu)同級加入如下代碼:

項(xiàng)目結(jié)構(gòu)步驟1-依賴主工程App的build中要加入librarydemo這個(gè)依賴model:dependencies

{

compile

fileTree(dir:

'libs',

include:

['*.jar'])

compile

'com.android.support:appcompat-v7:22.2.0'

compile

project(':librarydemo')

}步驟2-載library種編寫task當(dāng)你編譯完工程后其實(shí)library的所有java文件已經(jīng)生成了包含class的classes.jar包,如下圖所示:這個(gè)為了方便給出一個(gè)task將改classes.jar導(dǎo)出到library的build/libs/下,并修改名字為mysdk.jar(名字隨意)。//Copy類型

task

makeJar(type:

Copy)

{

//刪除存在的

delete

'build/libs/mysdk.jar'

//設(shè)置拷貝的文件

from('build/intermediates/bundles/release/')

//打進(jìn)jar包后的文件目錄

into('build/libs/')

//將classes.jar放入build/libs/目錄下

//include

,exclude參數(shù)來設(shè)置過濾

//(我們只關(guān)心classes.jar這個(gè)文件)

include('classes.jar')

//重命名

rename

('classes.jar',

'mysdk.jar')

}

makeJar.dependsOn(build)

//在終端執(zhí)行生成JAR包

//

gradlew

makeJar在androidstudio提供的Terminal中(目錄默認(rèn)偉當(dāng)前工程的)鍵入./gradlewmakeJar回車看到如下所示就OK了:生成的jar包在你的library那個(gè)的build下的libs下,然后就可以使用了。聲明:打出來的jar只有源代碼的.class文件,不包含資源文件看到那么多人踩的,那么多人遇到問題,在這里說明下并解決不得了常見問題有人問:怎么把資源(圖片,布局,string等)打進(jìn)jar包呢?答案是:既然不包含那我們就把jar包中用到的資源放到你使用該jar的工程里面,然后通過反射即可。這里給出反射類:public

class

MResource

{

public

static

int

getIdByName(Context

context,

String

className,

String

resName)

{

String

packageName

=

context.getPackageName();

int

id

=

0;

try

{

Class

r

=

Class.forName(packageName

+

".R");

Class[]

classes

=

r.getClasses();

Class

desireClass

=

null;

for

(Class

cls

:

classes)

{

if

(cls.getName().split("\\$")[1].equals(className))

{

desireClass

=

cls;

break;

}

}

if

(desireClass

!=

null)

{

id

=

desireClass.getField(resNa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論