久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Android Studio打包apk,aar,,jar包 總結(jié)

 Dragon_chen 2017-05-09
文本我們將講解android studio打包apk,,aar,jar包的相關(guān)知識,。apk包就是android系統(tǒng)的安裝包,,這里沒什么好說的,aar包是android中獨(dú)有的類庫包,,而jar包是java中特有的類庫包,,在具體的介紹打包之前,我們先來aar包和jar包的區(qū)別,。
jar包與aar包的區(qū)別
  • jar是java字節(jié)碼文件(class文件)的歸檔文件,,其不包含android中的資源文件等信息;
  • aar是android中特有的歸檔文件,,既包含字節(jié)碼文件也包含android的資源文件等,;
區(qū)別:大家都知道jar文件把,如果你有一個(gè)Android Library項(xiàng)目,,可以很容易的導(dǎo)出jar文件,然后在其他項(xiàng)目中很方便的引用,,aar和jar類似,,區(qū)別就是一個(gè)Android Library項(xiàng)目導(dǎo)出的jar文件不能包含資源文件,比如一些drawable文件,、xml資源文件之類的,,所以這就有很大的限制,在gradle之前我們要引用帶資源文件的Android Library必須要把整個(gè)library導(dǎo)入進(jìn)來進(jìn)行引用,,但是有了gradle之后,,Android Library項(xiàng)目可以直接導(dǎo)出成aar,然后其他項(xiàng)目像引用jar的方式直接方便的引用,。
具體可參看下圖:
  • aar包解壓之后的結(jié)構(gòu): 
  • jar包解壓之后的目錄結(jié)構(gòu): 
怎么樣,?jar包和aar包的區(qū)別很明顯吧。
打包apk文件
在android studio中打包apk文件有兩種方式:
  • 通過gradle配置輸出apk文件
  • 執(zhí)行Generate singed apk操作獲得apk文件
下面我們將分別介紹一下這兩種方式的具體步驟,,首先我們先看一下如何通過gradle配置的方式,,輸出apk文件。
android studio中配置打包腳本
  • 配置打包類型
  1. buildTypes {  
  2.         debug {  
  3.             // 顯示Log  
  4.             buildConfigField "boolean", "LOG_DEBUG", "true"  
  5.             //混淆  
  6.             minifyEnabled false  
  7.             //Zipalign優(yōu)化  
  8.             zipAlignEnabled true  
  9.             // 移除無用的resource文件  
  10.             shrinkResources true  
  11.             //加載默認(rèn)混淆配置文件  
  12.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
  13.             //簽名  
  14.             signingConfig signingConfigs.debug  
  15.         }  
  16.         release {  
  17.             // 不顯示Log  
  18.             buildConfigField "boolean", "LOG_DEBUG", "false"  
  19.             //混淆  
  20.             minifyEnabled true  
  21.             //Zipalign優(yōu)化  
  22.             zipAlignEnabled true  
  23.             // 移除無用的resource文件  
  24.             shrinkResources true  
  25.             //加載默認(rèn)混淆配置文件  
  26.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
  27.             //簽名  
  28.             signingConfig signingConfigs.relealse  
  29.         }  
  30.     }  
可以發(fā)現(xiàn)這里的buildType中配置了release包和debug包,,以及各自的簽名信息:
  1. singingConfig singingConfigs.release  

更加具體的簽名信息配置在singingCongis中,,下面我們來看一下其實(shí)如何設(shè)置的
  • 配置簽名信息
  1. //簽名  
  2.     signingConfigs {  
  3.         debug {  
  4.             storeFile file("aaa.keystore")  
  5.             storePassword "111111111"  
  6.             keyAlias "aaa.keystore"  
  7.             keyPassword "111111111"  
  8.         }  
  9.         relealse {  
  10.             storeFile file("aaa.keystore")  
  11.             storePassword "111111111"  
  12.             keyAlias "aaa.keystore"  
  13.             keyPassword "111111111"  
  14.         }  
  15.     }  
這樣我們就配置好了apk打包的簽名信息,,然后我們可以打開Build Variants操作框了…
  • 配置Build Variants
這里可以看到我們在mobile module中定義了兩個(gè)buildType,其中debug和release Type,,并且其打包時(shí)默認(rèn)使用的簽名信息就是我們剛剛配置的各自的簽名信息,。
這里需要說明的是android studio中module默認(rèn)都會有debug和release兩個(gè)buildType,就算你什么都不配置的話,,這里也會存在這兩個(gè)buildType,,而且,除了這兩個(gè)之外你還可以配置額外的定制化的buildType,,比如你想打一個(gè)信息的debug01包,,使用另外的一套簽名信息:
  • 在buildType節(jié)點(diǎn)下添加
  1. debug01 {  
  2.             // 顯示Log  
  3.             buildConfigField "boolean", "LOG_DEBUG", "true"  
  4.             //混淆  
  5.             minifyEnabled false  
  6.             //Zipalign優(yōu)化  
  7.             zipAlignEnabled true  
  8.             // 移除無用的resource文件  
  9.             shrinkResources true  
  10.             //加載默認(rèn)混淆配置文件  
  11.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
  12.             //簽名  
  13.             signingConfig signingConfigs.debug01  
  14.         }  
  15. 添加新的簽名信息  
  16. debug01 {  
  17.             storeFile file("bbb.keystore")  
  18.             storePassword "222222222"  
  19.             keyAlias "bbb.keystore"  
  20.             keyPassword "222222222"  
  21.         }  
配置Build Variants
可以發(fā)現(xiàn)這時(shí)候Build Variant中mobile module多了一個(gè)buildType:debug01,其就是我們剛剛配置的debug01 buildType,,并且使用的是另外的一套簽名信息,,若我們選中debug01,則android studio默認(rèn)run或者是build apk的時(shí)候就會編譯debug01版本的apk了,。
.執(zhí)行run app或者是Build apk操作
這樣我們最終就能夠輸出一個(gè)apk格式的安裝包了,。
執(zhí)行Generate singned apk操作
除了上面的通過gradle配置的方式生成apk文件,我們還可以執(zhí)行Generate singned apk操作,,通過這樣的操作,,我們也可以獲得一個(gè)apk的輸出文件,具體步驟如下:
  • 執(zhí)行Build –> Generate singed apk操作
  • 填寫相應(yīng)的簽名信息 
  • 選擇打包的類型 
好吧,,上面就是我們所要介紹的打包apk的兩種方式,。下面我們在講解一下如何通過android studio打包aar和jar。
android studio如何打jar包
目前通過android studio打包jar,,基本有兩種方式:
  • 創(chuàng)建module,,然后編譯完成之后 module中自動的創(chuàng)建了相關(guān)的jar文件 這里的classes.jar就是module相關(guān)的jar包,我們可以將其更改名稱之后拷貝到app下的lib目錄中,;
  • 另一種方式其實(shí)跟第一種方式是一樣的,,只不過其是通過gradle腳本實(shí)現(xiàn)的
app為我們的主工程,librarydemo是我們要將其生成jar包的model. 
在librarydemo中加入如下代碼:
  1.  <pre name="code" class="html">task makeJar(type: Copy) {    
  2.     delete 'build/libs/mysdk.jar'    
  3.     from('build/intermediates/bundles/release/')    
  4.     into('build/libs/')    
  5.     include('classes.jar')    
  6.     rename ('classes.jar', 'mysdk.jar')    
  7. }     
  8. makeJar.dependsOn(build)    
  9. //在終端執(zhí)行生成JAR包    
  10. // gradlew makeJar   
在Terminal中鍵入 gradlew makeJar 回車看到如下所示就OK了: 
當(dāng)然在主工程App的build中要加入librarys 這個(gè)依賴model:
  1. dependencies {  
  2.     compile fileTree(dir: 'libs', include: ['*.jar'])  
  3.     compile 'com.android.support:appcompat-v7:22.2.0'  
  4.     compile project(':librarys')  
  5. }  
(二)android studio如何打aar包 
其實(shí)打aar包和jar包類似,,只不過是其目錄變化了而已:
可以看到同樣需要其作為library,,而且其生成的目錄為:/build/output/aar/
好了,以上就是如何通過androd studio打包apk,,aar和jar的相關(guān)內(nèi)容了,。
最后還是那句話:
成功只有一個(gè)定義,那就是對結(jié)果負(fù)責(zé),。
因?yàn)槲沂冀K堅(jiān)信的一句話:沒有做不到的,,只有想不到的
QQ交流群 :232203809,歡迎入群 
 
微信公眾號:終端研發(fā)部 
(歡迎關(guān)注學(xué)習(xí)和交流)

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多