1. 進入 Android Studio 選 File - New - New Project... 開始一個新的專案, 選 Empty Activity 按 Next


    照下圖填寫, 按 Finish


    此時如果發生錯誤 ERROR: Manifest merger failed with multiple errors
    打開 Gradle Scripts 的第二個檔, 並從現有的 App 複製 dependencies 裡前六行, 按 Try Again 即可



  2. 打開 AndroidManifest.xml 從現有的 App 複製全部內容過來, 修改套件名稱(在最前面)以及綁定的 URL Scheme



  3. 到 activity_main.xml 點 Design 頁, 將 "Hello world" 刪除


    點 Widgets 找到 WebView 用滑鼠拉到右邊手機裡放開, 選功能表 File - Save All


    點 Text 頁, 並從現有的 App 複製下圖這三行過來


    打開 style.xml, 從現有的 App 複製整個內容過來, 不用修改


    打開 strings.xml, 輸入中文名稱


  4. Google 規定如果 App 以包覆一個網頁為主, 開發者必須擁有該網頁的控制權, 證明的方法是
    以開發者的身份登入 Google Search Console 將網域加入資源
    下載驗證檔放到包覆的網站根目錄中, 再進行驗證, 否則可能會被退件

  5. 在左邊 res 按右鍵 - New - Android Resource File


    檔名 network_security_config 類型 XML, Root element 輸入 network-security-config 如下圖


    內容從現有 App 複製: (修改其中的網域, 就是要包覆址的網域部份)
    (如果要限制只能瀏覽 https 網頁, 只要將 cleartextTrafficPermitted 值設為 false 即可)


  6. Android Studio 預設會使用小綠人作為應用程式圖示, 要改變圖示的話, 選 File - New - "Image Asset"
    上面選第一項 Launcher Icons, Asset Type 選 Image, 然後就選一張圖片給它, 按 Next - Finish 即可


    再選一次 New Image Asset, Icon Type 選 Notification Icons(推播用圖示), 選一張圖片給它, 按 Next - Finish
    (推播圖示只能有一個"形狀", 背景用透明, 可以請美工幫忙做)


  7. 打開 MainActivity.java 從現有 App 複製整個內容, 修改包覆網址, 以及兩處套件名稱



  8. 登入 Firebase 後控台, 選擇與 iOS 使用的同一個"專案", 按加號, 選 Android 圖案


    輸入套件名稱, 按"註冊應用程式"


    按一下"下載 google-services.json"將檔案存起來, 然後按"繼續" - "繼續" - "前往後控台"


    Firebase 需要用到兩個 packages, 打開您的 Android SDK Manager 確定下圖這兩個 packages 有沒有安裝?


  9. 將前面下載的那個 json 檔放到您 Android Studio 專案資料夾底下的 app 子資料夾裡:


    修改 build.gradle 檔, 特別注意它有兩個, 先打開第一個, 加入兩行(從現有 App 複製)


    第二個 build.gradle 檔, 照下圖中修改(程式碼一樣複製現有 App), 加好之後, 按一下右上方 "Sync Now"


  10. 在專案結構的 java 底下第一個套件名稱按滑鼠右鍵, 選 New - Java Class


    檔名輸入 MyFirebaseMessagingService 再按 OK


    內容一樣複製現有 App, 特別注意有兩處套件名稱要修改一下


  11. 要編譯前必須先設"指紋", 從功能表選 Build - Generate Signed APK...


    按 Next


    點 Choose existing...選取指紋檔 Fuoco.jks 輸入指紋檔密碼, Key alias 點右邊"資料夾圖案"產生新的指紋


    取名稱, 設指紋密碼, 姓名必填, 按 OK, 再按一次 OK
    (同一個 App 若要換新版, 編譯出來的 apk 必須有相同指紋, 也就是使用同一個 .jks 及 alias)


    按 Next


    選 release 再按 Finish


  12. 在 Project 視窗的 app 按滑鼠右鍵選 Open Module Settings


    上方選 Signing Configs, 按一下加號, 輸入 congfig 按 OK, 如下圖


  13. 指紋檔、密碼以及指紋、密碼跟前一步驟設的一樣, 按 Apply


    上面選 Default Config 依下圖輸入, 最後按 OK(如果要安裝新的 SDK 版本, 在 Tools - SDK Manager)


  14. 從功能表選 Build - Select Build Variant... 左下會出現一個小視窗
    Variant 先停在 debug, 選 Build - Build Bundle(s) / APK(s) - Build APK(s)
    幾秒後會在專案資料夾的 app/build/outputs/apk/debug 中出現一個 .apk 檔
    我通常將它上傳到 app@wizards.com.tw 的雲端硬碟, 分享網址供安裝測試及截圖(送審用)
    將 Variant 改選 release, 選 Build - Build Bundle(s) / APK(s) - Build Bundle(s)
    會在專案資料夾的 app/build/outputs/bundle/release 中出現一個 .aab 檔用來上架

  15. 登入開發者後台, 點右側"建立應用程式", 依下圖填寫


  16. 有四頁表單要填寫: 正式版、主要商店資訊、商店設定、應用程式內容
    1. 應用程式內容, 裡面有 11 個問題, 一一點選"提出聲明"回答
      政府應用程式"否"、輸入隱私權政策網址、廣告"否"、應用程式存取權選"我的應用程式本身或當中部分功能設有存取限制"
      然後點"新增操作說明", 第一項輸入 test 即可, 下面輸入試用帳號密碼, 最底下"不需其他資訊即可存取我的應用程式"打勾
      內容分級點"開始填寫問卷", 輸入 E-mail 選"所有其他應用程式類型", 下一步全部選"否", 選"儲存", 按下一步
      目標對象和內容選"18歲以上", 否可能會引起兒童的興趣選"會"
      新聞應用程式"否"、COVID-19 應用程式選"我的應用程式不是公開發布的 COVID-19 ....."
      資料安全性"否"、廣告 ID"否"、金融功能勾最後一項"我的應用程式未提供任何金融功能"

    2. 主要商店資訊: 簡短說明輸入"專為家長及幼兒園老師 設計 製作的資訊交換工具"
      完整說明必填, 應用程式圖示用 512x512, 主題圖片 1024x500, 手機截圖任何安卓手機皆可, 平板截圖非必要

    3. 商店設定: 應用程式或遊戲選"應用程式"、類別選"教育"、聯絡資料輸入 E-mail(另兩欄非必要)、

    4. 正式版: 國家/地區全選、儲存, 按右上方建立新版本, 點"選擇簽署金鑰" - "使用 Google 產生的金鑰"
      然後點"上傳"把前面編譯的 .aab 檔上傳, 按下一步、儲存

    最後選"發佈總覽", 按送審即可

  17. 上架成功後, 若要取消發佈, 選"商店發佈" - "定價與發佈" - 應用程式適用國家/地區"解除發佈" - "提交更新"

  18. 更新版本注意事項
    1. 後台"應用程式內容"裡填的試用帳密能否登入? App內容頁面與截圖是否相符?

    2. Android Studio 打開專案, 版本號增加, build 至少 +1
      2023 年 10 月以前的 App 還沒有 URL Scheme, 綁定方法參考 步驟 2

    3. 編譯 .aab 檔, 後台點"正式版" - 建立新版本 - 上傳 .aab 檔, 儲存送審即可