# 打包 Android APK 文件 ###### tags: `Work`  [TOC] # 優先條件 1. 下載 [Android Studio](https://developer.android.com/studio) 軟體 2. 下載對方給的 Android Code (可能是ZIP, GITLAB, etc) # 一般正常專案打包 ## 1. 檔案匯入到Android Studio 請選 **Open an Existing Project** 並選上你的專案資料夾。  備註: 打開後需要看右下方是否全部流程都跑好了再繼續。 ## 2. Clean & Sync Gradle 在此需要讓專案先做個初步整理跟更新會比較好,避免有Cache類是問題。首先我們先Clean專案在做Sync。 ### 1. Clean 專案 請找 **Build > Clean Project**  ### 2. Sync Gradle **File > Sync Project With Gradle Files**  備註: Gradle 檔案很多都是設定檔案及三方import/dependency/套件。 ## 3. 選好專案的Variant ### Build Variant是什麼? 有些時候在開發上,我們可能會有不同專案在同一個專案底下。例如: 我們專案跟另一個專案只有一些小小參數改變或小變化,都會這樣做。這時會用專案Variant去選取你當下想用或看的專案。 ### **1. 開啟方式Build Variant:** 如果在Android Studio的**左方**看不到Build Variant Window的話,請往**左下方**找一下的 Build Variant Tab開啟他。  ### **2. 選取Build Variant:**  > 主要專案  > 專案的Library 首先需要找  主要專案,在他的右方會有Variant名稱,選好你要的就好了。 備註: 如果沒有特別分的話(代表只有debug跟release選項),那就選Debug即可。 ## 打包 ### Debug APK **Build > Build Bundle/APK > Build APK**。  ### Release APK 1. 先找 **Generate Signed Bundle/APK**,位子在 **Build > Generate Signed Bundle/APK**。 > [color=lightblue] 2. 選APK >[color=lightblue] 3. 填寫需要的資料: **Key Store Path:** 要找一個.keystore檔案 (如果專案裡面沒有的話,需要跟廠商要) **Key store password, Key alias, Key Password:** 如果沒有一個檔案叫keystore.properties在資料夾的話,資訊就需要跟廠商要。 >[color=lightblue] 4. 選Debug/Release APK: 這裡可以多選,一次包很多個。選好後按Finish讓他慢慢跑。 >[color=lightblue] 5. 打開APK位子: **打開方法1:** 打包好時,Android Studio 的右下方會顯示一個公告。 Title 為 **Generate Signed APK**。 如果打開下方指標,他可以直接幫你locate(定位)你的APK位子。所以按下locate就好。 **打開方法2:** 打開專案目錄 > app > build> outputs > apk 就可以找到你要的APK。 **備註:** 如果這次的專案有很多Variant會有Variant的目錄,以及在Variant裡會有Debug/Release目錄。 >[color=lightblue] # 黑白打包 ## 1. 檢查是否有Gradle 資料夾 黑白團隊不一定會有給,可是沒有Gradle資料夾跟檔案的話是無法Build的。 **需要檢查的資料夾如下:**  ### 處理沒有Gradle資料夾的情況: 如果: 1. **會開Android專案**: 請自行開專案,並把新專案的**Gradle資料夾拷貝到*黑白的Android Root Project 底下***。 2. **不會開Android專案**: 請按照Android 官方的[创建 Android 项目Tutorial](https://developer.android.com/training/basics/firstapp/creating-project) 就可以創建新的專案,並把新專案的**Gradle資料夾拷貝到*黑白的Android Root Project 底下***。 ## 2. 專案必續更改的幾個點: ### 2.1 允許讀取UTF-8 因為對方使用Mac電腦無遇到這問題,可是Windows需要做這更改。首先找 ***gradle.properties***,在做需要的更改。 **gradle.properties:** 1. **檔案位子:** heibai(projet root) > gradle.properties >[color=lightblue] 2. **更改項目** ```java= org.gradle.jvmargs=-Xmx2048m //改成 org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 ``` ### 2.2 DataBinding 更新 您可能會遇到databinding 相關Error如果要打包,因為初步原始碼已經要被淘汰了,所以先改成新的。 需要改的地方有**2個檔案**: **app/build.gradle** 及 **FootballLib/football/build.gradle**。 **build.gradle:** ```java= dataBinding { enabled = true } //改成 buildFeatures { dataBinding true } ``` ## APK打包流程 如果真的以上的步驟都做好了,那就可以按照[一般正常專案打包](#一般正常專案打包)的步驟完成APK輸出。 # 如何用模擬機測試? ## 1. 先確認SDK Manager的Android SDK 版本有沒有下載? ### **SDK Manager在哪呢?** 1. 右上方有一個cube + down arrow,按下這時會直開Window 顯示Android SDK - SDK platform. 2. 勾選你要的 API level 再按右方的下載鍵,就可以了。  3. 這樣就可以按Apply 後 Ok 再退出此window。 **SDK Manager:**  **SDK Platform:**  ## 2. 如何確認你現在有模擬機能用? >[color=orange] 在上方可以看到 **Android icon + app** 這就代表這個專案是一個可以build看看的app專案。 沒有顯示此樣式的話,有可能: (1) gradle folder 不在 (2) Setting 哪裡有誤 另外在 **Android icon + app** 右方就有一個 **Nexus 5X**,這就是我的模擬機(代表有模擬機可用),如果需要增加模擬機,請前往AVD Manager增加。 ## 3. 如何build app在模擬機? >[color=orange] 最右方的icon按下去就是可以build app了,偶爾長得像: 1. 上圖一樣(已經build時需要重新build) 2. 一個往右箭頭 (如果還沒build) 備註:提醒Build動作偶爾很慢請給他一點時間跑。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.