1. 程式人生 > >android studio匯出apk

android studio匯出apk

轉自:https://blog.csdn.net/u013524014/article/details/71537308/

 

在android studio匯出的apk分為4種,一種是未簽名除錯版apk,一種是未簽名發行版apk,一種是已簽名除錯版apk,還有一種是已簽名發行版apk。以下將介紹這4種apk如何匯出。

一、除錯版apk與發行版apk區別

Debug通常稱為除錯版本,通過一系列編譯選項的配合,編譯的結果通常包含除錯資訊,而且不做任何優化,以為開發 人員提供強大的應用程式除錯能力。
Release通常稱為釋出版本,是為使用者使用的,一般客戶不允許在釋出版本上進行除錯。所以不儲存除錯信 息,同時,它往往進行了各種優化,以期達到程式碼最小和速度最優。為使用者的使用提供便利。

(1) debug程式通常比release程式要慢,尤其是處理視訊方便release要比debug快很多。在release模式對程式進行除錯的時候經常會遇到變數雖然初始化了,但是在檢視其值的時候卻發現是一個隨機的數並不是初始化的值,有時候在對變數進行監視的時候了,會出現找不到變數的情況。
(2) debug跟release在初始化變數時所做的操作是不同的,debug是將每個位元組位都賦成0xcc, 而release的賦值近似於隨機。在宣告變數後馬上對其初始化一個預設的值是最簡單有效的辦法,否則專案大了你找都沒地方找。程式碼存在錯誤在debug方式下可能會忽略而不被察覺到。debug方式下陣列越界也大多不會出錯,在release中就暴露出來了,這個找起來就比較難了。
(3) 只有DEBUG版的程式才能設定斷點、單步執行、使用 TRACE/ASSERT等除錯輸出語句。REALEASE不包含任何除錯資訊,所以體積小、執行速度快。
以上內容來自:https://zhidao.baidu.com/question/620939843767120332.html


二、簽名的意義

為了保證每個應用程式開發商合法ID,防止部分開發商可能通過使用相同的包名(pakage name)來混淆替換已經安裝的程式,我們需要對釋出的APK檔案進行簽名。每一次所釋出的APK應保證所用的簽名檔案的一致性,否則可能出現無法安裝的情況。

 

三、匯出除錯版apk

匯出除錯版apk方法有兩種,第一種:

 

 

選擇選單Build→ Build APK,點選便可生成除錯版apk,等待生成成功,可在模組目錄的build/outputs/apk目錄下找到xxx-debug.apk的檔案,此檔案便是除錯版apk。

 

 

 

第二種方法:

 

 

點選檢視右上角的Gradle,彈出以上介面,雙擊模組目錄下Tasks/build目錄下的assembleDebug,便可在生成除錯版apk,等待生成成功,可在模組目錄的build/outputs/apk目錄下找到xxx-debug.apk的檔案,此檔案便是除錯版apk。

 

四、匯出未簽名發行版apk

 

 

點選檢視右上角的Gradle,彈出以上介面,雙擊模組目錄下Tasks/build目錄下的assembleRelease,便可在生成未簽名發行版apk,等待生成成功,可在模組目錄的build/outputs/apk目錄下找到xxx-release-unsigned.apk的檔案,此檔案便是未簽名發行版apk。

 

 

 

五、生成已簽名發行版或除錯版apk

 

選擇選單Build→Generate Signed APK...並點選,出現如下介面

 

 

情況一:如果要使用已有的簽名檔案,那麼點選Choose existing...按鈕,選擇已有的簽名檔案的路徑,在Key store password輸入框填寫上簽名檔案的密碼,在Key alias輸入框填寫上別名,在Key password輸入框填寫上該別名對應的密碼,而後點選Next按鈕,出現如下介面

 

 

Build Type型別中選擇release,然後點選Finish按鈕即可生成已簽名發行版apk。等待生成成功,可在模組目錄下找到xxx-release.apk的檔案,此檔案便是已簽名發行版apk。

Build Type型別中選擇debug,然後點選Finish按鈕即可生成已簽名除錯版apk。等待生成成功,可在模組目錄下找到xxx-debug.apk的檔案,此檔案便是已簽名除錯版apk。

 

 

 

情況二:如果還沒有簽名檔案,需要使用新建立的簽名檔案,則點選Create new...按鈕,點選後出現如下介面

 

 

箭頭指出的部分填寫上資訊,點選OK,即可生成簽名檔案。

其餘生成簽名apk的步驟同情況一。