Android Studio 使用正式簽名進行除錯
在Android Studio中,可以使用Gradle進行打包時自動簽名。其實Android Studio預設會給除錯應用加上Debug簽名,但有時候調一些第三方SDK時,需要正式簽名才能調起來,所以接下來分享一下使用Gradle自動簽名的方法。
一、建立簽名檔案
開啟AS,選擇Build->Generate Signed APK,選擇要打包的專案,點選Next,再點選Create new...建立簽名檔案
填寫簽名檔案響應資訊,如下所示,Password、Key-Alias、Key-Password這三個值需要記住,然後點選OK,完成建立。
完成之後,在相應路徑生成一個jks簽名檔案。如果選擇手動再進行打包,就可以選擇該簽名檔案,然後對應填入密碼與別名,進行簽名,也可以。
二、配置Gradle自動打包
拷貝簽名檔案到主工程根目錄,開啟主工程的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:密碼(剛才填的第一個密碼)
keyAlias:別名
keyPassword:別名密碼
然後重新build一下工程,展開右邊欄Gradle選項卡,如下所示:
assembleRelease,即為正式簽名。雙擊assembleRelease,則會開始執行命令:
執行完畢可以看到BUILD SUCCESSFUL,說明正式簽名打包成功了。展開工程的build資料夾,可發現有app-release.apk,即為正式版本。下次直接run起來的時候,就帶正式簽名了。這可比手動簽名省事多啦~~
當然,為了提高安全性,我們還可以把那四個屬性作為變數配置在主工程的gradle.propreties,然後在build.gradle引用變數就可以了。如下:
這樣也能起到同樣的效果。
三、應用程式簽名的意義
(1)保障開發者的合法權益
在我們對應用程式進行打包簽名後,即表示此應用程式是簽名人或機構所開發的,對此應用程式具有所有權。
(2)預防應用程式替換
應用程式簽名可以防止部分人通過使用相同的Package Name來混淆替換已經安裝的程式,從而出現一些惡意篡改。APK如果使用一個key簽名,釋出時另一個key簽名的檔案將無法安裝或覆蓋老的版本,這樣可以防止你已安裝的應用被惡意的第三方覆蓋或替換掉。實際上就是一種標識。
(3)保證應用程式版本的一致性
一般應用程式都會有更新,即版本的升級。如果應用程式的簽名不一致,是無法進行更新替代的。所以應用程式的簽名是保證當前應用程式順利進行更新安裝的前提。
(4)可以通過許可權(permission)的方式在多個程式間共享資料和程式碼
Android提供了基於數字證書的許可權賦予機制,應用程式可以和其他的程式共享概功能或者資料給那那些與自己擁有相同數字證書的程式。如果某個許可權(permission)的protectionLevel是signature,則這個許可權就只能授予那些跟該許可權所在的包擁有同一個數字證書的程式。另一方面,Android系統允許擁有同一個數字簽名的程式執行在一個程式中,Android程式會將他們視為同一個程式。所以開發者可以將自己的程式分模組開發,而使用者只需要在需要的時候下載適當的模組。
相關文章
- Postman除錯技巧之介面簽名Postman除錯
- Android Studio 簽名打包過程圖解Android圖解
- Android Studio 使用WiFi除錯(支援AS 2 3以上)AndroidWiFi除錯
- Android Studio除錯功能使用總結【轉】Android除錯
- Android Studio生成簽名檔案,自動簽名,以及獲取SHA1和Android
- 使用 C-Reduce 進行除錯除錯
- 使用pdb進行Python除錯Python除錯
- 利用Xcode進行重簽名XCode
- Android Studio 中的除錯技巧Android除錯
- 程式碼簽名證書能給哪些應用程式進行簽名
- Kubernetes 使用arthas進行除錯除錯
- 使用Xdebug進行遠端除錯除錯
- 使用IDEA進行遠端除錯Idea除錯
- IPA簽名怎麼進行重籤
- eclipse,android studio 簽名打包,獲取MD5, SHA1(應用的簽名)EclipseAndroid
- Visual Studio 2017為Android APK包簽名AndroidAPK
- Xamarin Android使用自簽名證書Android
- Android Studio程式碼除錯技巧篇Android除錯
- android studio 除錯 framework 層程式碼Android除錯Framework
- Android開發 - Retrofit 2 使用自簽名的HTTPS證書進行API請求AndroidHTTPAPI
- iText7使用IExternalSignatureContainer進行簽名和驗籤AI
- APK簽名報錯APK
- 使用更新補丁對Android Studio進行更新。Android
- 蘋果企業簽名和蘋果超級簽名該怎麼進行選擇?蘋果
- 如何在Mac上使用預覽對PDF進行電子簽名Mac
- iOS簽名、iOS企業簽名、iOS超級簽名工具使用iOS
- Swoole 如何使用 Xdebug 進行單步除錯除錯
- Net8 除錯無法附加。.NET 執行時偵錯程式庫的簽名驗證失敗,因為該檔案未簽名解決除錯
- android studio中使用adb wifi外掛無線除錯程式AndroidWiFi除錯
- Android 應用簽名Android
- Android空包Apk簽名AndroidAPK
- Android簽名機制Android
- Android v1 簽名 和 v2+ 簽名Android
- Android 打包簽名 從生成keystore到完成簽名Android
- Java 操作PPT數字簽名(一):新增、檢測、刪除簽名Java
- Java 新增數字簽名到Excel以及檢測、刪除簽名JavaExcel
- 利用766IPA/iOS/蘋果簽名工具在Mac和win電腦上進行簽名iOS蘋果Mac
- 在 Android Studio 上除錯資料庫 ( SQLite )Android除錯資料庫SQLite