天天看點

Android Studio 使用正式簽名進行調試

在Android Studio中。能夠使用Gradle進行打包時自己主動簽名。事實上Android Studio預設會給調試應用加上Debug簽名。但有時候調一些第三方SDK時,須要正式簽名才幹調起來。是以接下來分享一下使用Gradle自己主動簽名的方法。

一、建立簽名檔案

打開AS。選擇Build->Generate Signed APK,選擇要打包的項目,點選Next,再點選Create new...建立簽名檔案

Android Studio 使用正式簽名進行調試
填寫簽名檔案響應資訊,例如以下所看到的。Password、Key-Alias、Key-Password這三個值須要記住,然後點選OK,完畢建立。
Android Studio 使用正式簽名進行調試
完畢之後,在相應路徑生成一個jks簽名檔案。假設選擇手動再進行打包。就能夠選擇該簽名檔案。然後相應填入password與别名,進行簽名,也能夠。
Android Studio 使用正式簽名進行調試

二、配置Gradle自己主動打包

拷貝簽名檔案到主project根檔案夾。打開主project的build.gradle檔案。在android節點下,添加下面内容:

signingConfigs {
        release {
            storeFile file('keystore.jks')
            storePassword '123456'
            keyAlias 'yyh'
            keyPassword '123456'
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.release
        }

        debug {
            signingConfig signingConfigs.release
        }
    }      

    storeFile file:簽名檔案,假設放在其它路徑。須要相應改動

    storePassword:password(剛才填的第一個password)

    keyAlias:别名

    keyPassword:别名password

然後又一次build一下project。展開右邊欄Gradle頁籤。例如以下所看到的:

Android Studio 使用正式簽名進行調試

assembleRelease。即為正式簽名。輕按兩下assembleRelease,則會開始運作指令:

Android Studio 使用正式簽名進行調試

運作完成能夠看到BUILD SUCCESSFUL,說明正式簽名打包成功了。展開project的build目錄,可發現有app-release.apk。即為正式版本号。

Android Studio 使用正式簽名進行調試

下次直接run起來的時候,就帶正式簽名了。這可比手動簽名省事多啦~~

當然。為了提高安全性,我們還能夠把那四個屬性作為變量配置在主project的gradle.propreties,然後在build.gradle引用變量就能夠了。

例如以下:

Android Studio 使用正式簽名進行調試
Android Studio 使用正式簽名進行調試

這樣也能起到相同的效果。

三、應用程式簽名的意義

(1)保障開發人員的合法權益

在我們相應用程式進行打包簽名後,即表示此應用程式是簽名人或機構所開發的,對此應用程式具有全部權。

(2)預防應用程式替換

應用程式簽名能夠防止部分人通過使用同樣的Package Name來混淆替換已經安裝的程式,進而出現一些惡意篡改。APK假設使用一個key簽名,公布時還有一個key簽名的檔案将無法安裝或覆寫老的版本号。這樣能夠防止你已安裝的應用被惡意的第三方覆寫或替換掉。

實際上就是一種辨別。

(3)保證應用程式版本号的一緻性

一般應用程式都會有更新,即版本号的更新。

假設應用程式的簽名不一緻,是無法進行更新替代的。是以應用程式的簽名是保證目前應用程式順利進行更新安裝的前提。

(4)能夠通過權限(permission)的方式在多個程式間共享資料和代碼