1. 程式人生 > >安卓簽名和build.gradle/setting.gradle的學習

安卓簽名和build.gradle/setting.gradle的學習

2016年轉眼12月快到尾聲了,回想今年自己都做了什麼?一年的Android開發,剛剛轉行的時候是有點害怕的,很怕自己學不好也做不到,但是不知不覺卻做到了年底,從開始只能幫專案做一些簡單的邊邊角角頁面和改簡單的bug,到現在可以自己負責做一些模組和改模組的bug,總的來說還是有進步的,但是還有很多未觸及的地方,像推送,掃碼,分享這些地方等,總之,要學的還很多。下面進入正文吧。

一、安卓簽名:

1、debug版:預設有簽名檔案,可以不用自己生成簽名(缺點是每個As的簽名不一樣,不便於專案管理和升級)

2、release版:必須自己配置簽名檔案,AS -- 》 build --》 Generate Signed APK,有生成好的就直接用Choose existing ,沒有的話就Create New,下面說生成:

  (1)需要兩重密碼,一重Key Store密碼,一重是Key密碼,別名Alias填寫後要記得,之後填寫的時候要到

  (2)把Key的其他內容填寫完畢後,點選OK,此時就生成好了你的key

   (3)在Generate Signed APK選中你生成好的key,填寫所需引數後,點選Next,選擇Apk生成的位置和Build Type,點選Finish後就會在你選擇的目錄下生成帶簽名的Apk

3、檢視是否簽名:

jarsigner -verify -verbose -cert XXX.apk (可以知道是dubug簽名還是)

jarsigner -verify XXX.apk(已簽名的會列印jar verified)  

keytool -list -printcert -jarfile xxx.apk(可以看到key的詳細資訊 )

4.寫在build.gradle裡:(每次打包都將會簽名)

signingConfigs {
    release {
        keyAlias xxx
        keyPassword xxx
        storeFile xxx
        storePassword xxx
    }
}

二、Build.gradle檔案:

每次新建一個專案都會預設生成這個檔案,這個檔案用處很大,說說裡面常用的配置

1.android配置:

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"
    //預設配置
    defaultConfig {
        applicationId "com.zl.softwaremanager"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true   //防止包太大
    }
    buildTypes {
        release {
            minifyEnabled false// 加上這句的就不會輸出unalign的包
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug {
            minifyEnabled false
            debuggable true
        }
    }
    //分包配置
    dexOptions {
        javaMaxHeapSize "4g"
    }
}


2.dependencies:

dependencies {
    compile 'com.android.support:design:23.4.0'
    compile project(path: ':libraryTest')
    compile files('libs/jsoup-1.8.1.jar')
}

三、settings.gradle:

當你在專案裡要使用別的庫類(有專案結構的庫類)時,必須手動在這裡新增include ‘Xlib’

include ':libraryTest'
include ':app'