溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

發(fā)布時(shí)間:2021-07-28 09:11:52 來源:億速云 閱讀:165 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要介紹Android Studio正式簽名進(jìn)行調(diào)試的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

詳解Android Studio正式簽名進(jìn)行調(diào)試的實(shí)現(xiàn)步驟

在Android Studio中,可以使用Gradle進(jìn)行打包時(shí)自動(dòng)簽名。其實(shí)Android Studio默認(rèn)會(huì)給調(diào)試應(yīng)用加上Debug簽名,但有時(shí)候調(diào)一些第三方SDK時(shí),需要正式簽名才能調(diào)起來,所以接下來分享一下使用Gradle自動(dòng)簽名的方法。

一、創(chuàng)建簽名文件

打開AS,選擇Build->Generate Signed APK,選擇要打包的項(xiàng)目,點(diǎn)擊Next,再點(diǎn)擊Create new...創(chuàng)建簽名文件

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

填寫簽名文件響應(yīng)信息,如下所示,Password、Key-Alias、Key-Password這三個(gè)值需要記住,然后點(diǎn)擊OK,完成創(chuàng)建。

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

完成之后,在相應(yīng)路徑生成一個(gè)jks簽名文件。如果選擇手動(dòng)再進(jìn)行打包,就可以選擇該簽名文件,然后對(duì)應(yīng)填入密碼與別名,進(jìn)行簽名,也可以。

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

二、配置Gradle自動(dòng)打包

拷貝簽名文件到主工程根目錄,打開主工程的build.gradle文件,在android節(jié)點(diǎn)下,增加以下內(nèi)容:

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:簽名文件,如果放在其他路徑,需要對(duì)應(yīng)修改

    storePassword:密碼(剛才填的第一個(gè)密碼)

    keyAlias:別名

    keyPassword:別名密碼

然后重新build一下工程,展開右邊欄Gradle選項(xiàng)卡,如下所示:

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

assembleRelease,即為正式簽名。雙擊assembleRelease,則會(huì)開始執(zhí)行命令:

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

執(zhí)行完畢可以看到BUILD SUCCESSFUL,說明正式簽名打包成功了。展開工程的build文件夾,可發(fā)現(xiàn)有app-release.apk,即為正式版本。

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

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

當(dāng)然,為了提高安全性,我們還可以把那四個(gè)屬性作為變量配置在主工程的gradle.propreties,然后在build.gradle引用變量就可以了。如下:

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

Android Studio正式簽名進(jìn)行調(diào)試的示例分析

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

三、應(yīng)用程序簽名的意義

(1)保障開發(fā)者的合法權(quán)益

在我們對(duì)應(yīng)用程序進(jìn)行打包簽名后,即表示此應(yīng)用程序是簽名人或機(jī)構(gòu)所開發(fā)的,對(duì)此應(yīng)用程序具有所有權(quán)。

(2)預(yù)防應(yīng)用程序替換

應(yīng)用程序簽名可以防止部分人通過使用相同的Package Name來混淆替換已經(jīng)安裝的程序,從而出現(xiàn)一些惡意篡改。APK如果使用一個(gè)key簽名,發(fā)布時(shí)另一個(gè)key簽名的文件將無法安裝或覆蓋老的版本,這樣可以防止你已安裝的應(yīng)用被惡意的第三方覆蓋或替換掉。實(shí)際上就是一種標(biāo)識(shí)。

(3)保證應(yīng)用程序版本的一致性

一般應(yīng)用程序都會(huì)有更新,即版本的升級(jí)。如果應(yīng)用程序的簽名不一致,是無法進(jìn)行更新替代的。所以應(yīng)用程序的簽名是保證當(dāng)前應(yīng)用程序順利進(jìn)行更新安裝的前提。

(4)可以通過權(quán)限(permission)的方式在多個(gè)程序間共享數(shù)據(jù)和代碼

Android提供了基于數(shù)字證書的權(quán)限賦予機(jī)制,應(yīng)用程序可以和其他的程序共享概功能或者數(shù)據(jù)給那那些與自己擁有相同數(shù)字證書的程序。如果某個(gè)權(quán)限(permission)的protectionLevel是signature,則這個(gè)權(quán)限就只能授予那些跟該權(quán)限所在的包擁有同一個(gè)數(shù)字證書的程序。另一方面,Android系統(tǒng)允許擁有同一個(gè)數(shù)字簽名的程序運(yùn)行在一個(gè)進(jìn)程中,Android程序會(huì)將他們視為同一個(gè)程序。所以開發(fā)者可以將自己的程序分模塊開發(fā),而用戶只需要在需要的時(shí)候下載適當(dāng)?shù)哪K。

以上是“Android Studio正式簽名進(jìn)行調(diào)試的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI