XAML in Xamarin.Forms 基礎篇 電子書

XAML in Xamarin.Forms 基礎篇 電子書
XAML in Xamarin.Forms 基礎篇 電子書

Xamarin.Forms 快速入門 電子書

Xamarin.Forms 快速入門 電子書
Xamarin.Forms 快速入門 電子書

2016/09/21

Xamarin.Forms iOS發佈之Mac端的操作

產生派送憑證(憑證密鑰) (Distribution Certificate)

在這裡,您需要第一次準備好一個 Certificate Signing Request (CSR),這裡所有的操作,都需要在 Mac 電腦完成
AboutCSR
  1. 點選 Launched > 其他 > 鑰匙圈存取
    其他
  2. 從功能表中,點選 憑證輔助程式 > 從憑證授權要求憑證
    建立憑證
  3. 請在 輔助憑證程式 對話窗,請輸入電子郵件位置與一般名稱,在 已將要求 選項,設定為 儲存到磁碟,最後,點選 繼續 按鈕
    輔助憑證程式
  4. 您可以將這個憑證儲存到桌面,方便日後練習之用
    • 建議可以將這個憑證檔案名稱,加入適合辨識文字
    • 位置 為方便練習,可以選擇 桌面
    • 點選 儲存 按鈕
    • 在 密鑰配對資訊,直接點選 繼續 按鈕
    • 最後,憑證會建立在桌面上
    儲存到桌面
    完成建立憑證

產生派送憑證 (Distribution Certificate)

底下這兩個工作 建立開發環境用的憑證 (Certificates > Development)建立正式環境用的憑證 (Certificates > Product),僅需要在這台電腦上做一次即可。

建立開發環境用的憑證 (Certificates > Development)

  1. 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
  2. 點選左邊功能表的 Certificates, IDs, Profiles 連結
    AppleDeveloperHome
  3. 在 Certificates, IDs, Profiles 頁面內,點選 Development 連結
    AppleDevCIP
  4. 在 iOS Certificates (Development) 頁面內,點選右上角 + 加號
  5. 在 Add iOS "Certificate" 頁面,選擇 iOS App Development 項目,接著點選最下方的 Continue 按鈕
    AddiOSCert
  6. 在 Add iOS "Certificate" 頁面的 Request 標籤頁次,選擇最下方的 Continue 按鈕
    這是因為,這個頁面要求要做到的事情,已經在前面的 產生派送憑證(憑證密鑰) (Distribution Certificate) 階段已經完成了。
    iOSDevRequest
  7. Add iOS "Certificate" 頁面的 Generate 標籤頁次
    • 點選 Choose File... ,著選擇剛剛在桌面產生的 CSR 憑證
    • 接著點選最下方的 Continue 按鈕
    iOSDevGenerate
  8. Add iOS "Certificate" 頁面的 Download 標籤頁次
    • 點選 Download 按鈕,下載這個 iOS Development 憑證
    • 下載完成後,請點選剛剛下載的憑證,使其安裝到鑰匙圈存取內
    • 最後,點選 Done 按鈕,完成相關工作。
    iOSDevDownload

建立正式環境用的憑證 (Certificates > Product)

  1. 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
  2. 點選左邊功能表的 Certificates, IDs, Profiles 連結
  3. 在 Certificates, IDs, Profiles 頁面內,點選 Production 連結
  4. 在 iOS Certificates (Development) 頁面內,點選右上角 + 加號
  5. 在 Add iOS "Certificate" 頁面,選擇 iOS App Development 項目,接著點選最下方的 Continue 按鈕
    AddiOSProdCert
  6. 在 Add iOS "Certificate" 頁面的 Request 標籤頁次,選擇最下方的 Continue 按鈕
    這是因為,這個頁面要求要做到的事情,已經在前面的 產生派送憑證(憑證密鑰) (Distribution Certificate) 階段已經完成了。
  7. Add iOS "Certificate" 頁面的 Generate 標籤頁次
    • 點選 Choose File... ,著選擇剛剛在桌面產生的 CSR 憑證
    • 接著點選最下方的 Continue 按鈕
  8. Add iOS "Certificate" 頁面的 Download 標籤頁次
    • 點選 Download 按鈕,下載這個 iOS Distribution 憑證
    • 下載完成後,請點選剛剛下載的憑證,使其安裝到鑰匙圈存取內
    • 最後,點選 Done 按鈕,完成相關工作。
    iOSProdDownload

產生派送提供描述檔 (Distribution Provisioning Profile)

產生 AppID

  1. 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
  2. 點選左邊功能表的 Certificates, IDs, Profiles 連結
  3. 在 Certificates, IDs, Profiles 頁面內,點選 Identifiers > App IDs 連結
  4. 點選 iOS App IDs 標題頁面右上方 + 按鈕
  5. 在出現 Registering an App ID 頁面
    • 在標題 App ID Description 下的 Name 欄位,輸入 My First iOS App
    • 在 Explicit App ID 標題下的 Bundle ID 欄位內,輸入 com.doggy.XFFirst
    • 最後,在最下方點選 Continue 按鈕
    RegisteringAnAppID
  6. 在出現 Confirm your App ID 頁面,請點選底下 Register 按鈕,最後,再點選 Done 按鈕

產生 Device ID

  1. 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
  2. 點選左邊功能表的 Certificates, IDs, Profiles 連結
  3. 在 Certificates, IDs, Profiles 頁面內,點選 Devices > All 連結
  4. 點選 All Devices 標題頁面右上方 + 按鈕
  5. 在 Registering a New Device or Multiple Devices 頁面
    • 在 Register Device 標題下方的 Name 欄位,輸入 Vulcan iPhone
    • 在 Register Device 標題下方的 UDID,輸入您裝置的 UDID
    • 最後,點選下方的 Continue
    要取得您裝置的 UDID
    1. 將 iOS 裝置連上有安裝 iTune 的電腦上
    2. 在上方的 摘要 標籤頁次下,會看到 序號 欄位內的值,使用滑鼠點擊該序號
    3. 此時,原先的序號欄位,會變成 識別碼 (UDID),這就是 iOS 裝置的 UDID,把它複製下來
    RegistingNewDevice
  6. 當出現 Review and register 頁面,請點選底下的 Register 按鈕

產生開發時期的派送提供描述檔

  1. 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
  2. 點選左邊功能表的 Certificates, IDs, Profiles 連結
  3. 在 Certificates, IDs, Profiles 頁面內,點選 Provisioning Profiles > Development 連結
  4. 點選 iOS Provision Profiles (Development) 標題頁面右上方 + 按鈕
  5. 在 Add iOS Provisioning Profiles (Development) 頁面的 Select TYpe 標籤頁次
    • 在 Development 標題下方選擇 iOS App Development
    • 點選最下方的 Continue 按鈕
  6. 當出現 Configure 標籤頁次
    • 選擇您要的 App ID,在這裡選擇的是 My First iOS App,之後
    • 點選 Continue 按鈕
    • 選擇您的憑證,會出現在畫面上讓您挑選,之後,點選 Continue 按鈕
    • 選擇要測試裝置,畫面上會出現您設定好的裝置,選擇好之後,點選 Continue 按鈕
  7. 當出現 Generate 標籤頁次下,在 Profile Name 欄位中輸入 MyFirst_Dev_Prov,之後,點選Continue 按鈕
  8. 當出現 Download 標籤頁次下
    • 點選 Download 按鈕
    • 當下載完成後,雙擊這個下載檔案,安裝這個 Provisioning Profile 到 XCode 內
    • 點選 Done 按鈕

產生正是產品的派送提供描述檔

  1. 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
  2. 點選左邊功能表的 Certificates, IDs, Profiles 連結
  3. 在 Certificates, IDs, Profiles 頁面內,點選 Provisioning Profiles > Distribution 連結
  4. 點選 iOS Provision Profiles (Distribution) 標題頁面右上方 + 按鈕
  5. 在 Add iOS Provisioning Profiles (Distribution) 頁面的 Select TYpe 標籤頁次
    • 在 Distribution 標題下方選擇 Ad Hoc
    • 點選最下方的 Continue 按鈕
  6. 當出現 Configure 標籤頁次
    • 選擇您要的 App ID,在這裡選擇的是 My First iOS App,之後
    • 點選 Continue 按鈕
    • 選擇您的憑證,會出現在畫面上讓您挑選,之後,點選 Continue 按鈕
    • 選擇要測試裝置,畫面上會出現您設定好的裝置,選擇好之後,點選 Continue 按鈕
  7. 當出現 Generate 標籤頁次下,在 Profile Name 欄位中輸入 MyFirst_Prod_Prov,之後,點選Continue 按鈕
  8. 當出現 Download 標籤頁次下
    • 點選 Download 按鈕
    • 當下載完成後,雙擊這個下載檔案,安裝這個 Provisioning Profile 到 XCode 內
    • 點選 Done 按鈕

Xamarin.iOS 內選擇提供描述檔

建立客製專屬平台的控制項視覺方案

  1. 首先,開啟您的 Visual Studio 2015
  2. 接著透過 Visual Studio 2015 功能表,選擇這些項目 檔案 > 新增 > 專案 準備新增一個專案。
  3. 接著,Visual Studio 2015 會顯示 新增專案 對話窗,請在這個對話窗上,進行選擇 Visual C# >Cross-Platform > Blank Xaml App (Xamarin.Forms Portable)
  4. 接著,在最下方的 名稱 文字輸入盒處,輸入 XFFirst 這個名稱,最後使用滑鼠右擊右下方的 確定按鈕。
  5. 當專案建立到一半,若您的開發環境還沒有建置與設定完成 Mac 電腦與 Xamarin Studio for Mac 系統,此時會看到 Xamarin Mac Agent Instructions 對話窗出現,這個對話窗是要提醒您進行與 Mac 電腦連線設定,這是因為,您無法在 Windows 作業系統進行 iOS 相關應用程式的建立與設計工作,而是需要透過 Mac 電腦安裝的 XCode 來協助您完成這些 iOS 應用程式的建立工作。不過,這不影響您繼續開發 Xamarin.Forms 的應用程式,只不過此時,您無法編譯與執行 iOS 的應用程式。
  6. 接著會看到 新的通用Windows專案 對話視窗,此時,您只需要按下 確定 按鈕即可,此時,專案精靈會繼續完成相關平台的專案建立工作。
  7. 最後,整個新的 Xamarin.Forms 專案就建立完成了。

開始測試

  1. 滑鼠右擊 XFFirst.iOS 專案,選擇 設定為起始專案
  2. 檢查 Visual Studio 上方的工具列之組態設定為 : Debug > iPhoneSimulator
    iOSDebugSimulator
  3. 滑鼠右擊 XFFirst.iOS 專案,選擇 重建
    確認可以在除錯&模擬器環境,正常重建這個專案。
  4. 設定 Visual Studio 上方的工具列之組態設定為 : Release > iPhoneSimulator
    iOSDebugiPhone
  5. 滑鼠雙擊 XFFirst.iOS 專案下的 Properties 節點
    • 點選 iOS Application 標籤頁次
      • 在並勾選標題 iOS IPA Options 下方的 Build ad-hoc/enterprise package (IPA) 檢查盒
    • 點選 iOS IPA Options 標籤頁次
      • 在 Identifier 欄位內輸入 com.doggy.XFFirst
      • 在 Version 欄位內輸入 1
    • 點選 iOS Bundle Signing 標籤頁次
      • 在 iOS Bundle Signing 標題下方的 Identity 欄位,選擇 iPhoe Developer XXX
      *在 iOS Bundle Signing 標題下方的 Provisioning Profile 欄位,選擇 MyFirst_Dev_Prov
  6. 滑鼠右擊 XFFirst.iOS 專案,選擇 重建
    確認可以正常重建這個專案。
    若在 Mac 電腦上出現底下對話窗,請點選 總是允許 codesign
  7. 滑鼠雙擊 XFFirst.iOS 專案下的 Properties 節點
    • 點選 iOS Application 標籤頁次
      • 在並勾選標題 iOS IPA Options 下方的 Build ad-hoc/enterprise package (IPA) 檢查盒
    • 點選 iOS IPA Options 標籤頁次
      • 在 Identifier 欄位內輸入 com.doggy.XFFirst
      • 在 Version 欄位內輸入 1
    • 點選 iOS Bundle Signing 標籤頁次
      • 在 iOS Bundle Signing 標題下方的 Identity 欄位,選擇 iPhoe Distribution XXX
      *在 iOS Bundle Signing 標題下方的 Provisioning Profile 欄位,選擇 MyFirst_Dev_Prov
  8. 滑鼠右擊 XFFirst.iOS 專案,選擇 重建
    確認可以正常重建這個專案。

其他參考

此憑證的簽發人無效

當在 鑰匙圈存取 > 憑證 內發現到新建立的 Development / Distribution 憑證出現了 此憑證的簽發人無效 紅色錯誤訊息,請使用瀏覽器,打開下列網址,重新安裝憑證,即可解決問題
此憑證的簽發人無效
會發生這個問題,是因為欠缺底下憑證
AppleWorldwideDevCA

使用 iPhone / iPad 實體機進行 Xamarin.Forms 應用程式除錯測試

若想要使用 iPhone / iPad 實體機,在Visual Studio 內進行除錯測試,首先

了解更多關於 [Xamarin.Android] 的使用方式
了解更多關於 [Xamarin.iOS] 的使用方式
了解更多關於 [Xamarin.Forms] 的使用方式
了解更多關於 [Hello, Android:快速入門] 的使用方式
了解更多關於 [Hello, iOS – 快速入門] 的使用方式
了解更多關於 [Xamarin.Forms 快速入門] 的使用方式

連結測試裝置 (這裡使用 iPad) 與Mac電腦

  1. 請將實體機與 Mac 電腦連線
  2. 在 Mac 電腦上,會出現對話窗 您要允許這部電腦取用 「XXX的 iPad」上的資訊嗎?,如下圖所示,此時,請點選 繼續 按鈕
    MaciTunes.png
  3. 接著會顯示 若要允許取用,請在您的 iPad 上回應 ,此時,請查看您的 iPad 裝置上。
    MaciTunes2
    若在 Mac 電腦上看到了 iTunes 有新版本推出,此時,可以下載並更新
    MaciTunes3
  4. 在 iPad裝置上,可以看到 信任這部電腦 對話窗,請點選 信任 按鈕
    iPad信任裝置

使用 Visual Studio 除錯

  1. 使用 Visual Studio 打開任何已經寫好的 Xamarin.Forms 專案,並且確認 Xamarin Mac Agent 已經設定好與連線成功了
  2. 在工具列上的 方案平台 按鈕上,選取 iPhone,並且有顯示您實體裝置的名稱,最後,按下除錯執行按鈕
    VS與iPad
  3. 這個時候,Visual Studio 會顯示錯誤警告視窗與錯誤訊息 : No installed provisioning profiles match the installed iOS signing identities.
1>------ 已開始建置: 專案: XFSplash.iOS, 組態: Debug iPhone ------
1>  Generated session id: 82df1317d147a2f0be8fc87dd30e508b
1>  Generated build app name: XFSplashiOS
1>  Connecting to Mac server 192.168.1.104...
1>  XFSplash.iOS -> C:\XF-Pages-Samples\XFSplash\XFSplash\XFSplash.iOS\bin\iPhone\Debug\XFSplashiOS.exe
1>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(545,3): error : No installed provisioning profiles match the installed iOS signing identities.
========== 建置: 0 成功、1 失敗、1 最新、0 略過 ==========
========== 部署: 0 成功、0 失敗、0 略過 ==========
發生建置錯誤
  1. 此時,您需要產生一個新的 Provision 設定資訊

取得該裝置的 UDID

  1. 在 Mac 電腦上,開啟 iTunes ,在 iTunes 視窗左上方,找到裝置圖示,如下圖,點選這個圖示
    iTunes
  2. 當您連接的裝置資訊已經顯示在 iTunes 視窗上,請點選 序號 欄位旁的序號值
    iTunes1
  3. 當看到如下圖,顯示出 UDID 與其值的時候,請複製下 UDID 的值
    iTunes2

產生 Provision

  1. 使用瀏覽器進入到這個網址 https://developer.apple.com/account/ios/profile/
  2. 參考 iOS發佈之Mac端的操作,就可以針對實體裝置進行除錯了

2016/09/20

Xamarin.Forms 轉換 PCL Profile 為使用 .NET Standard Library

您需要準備
Visual Studio 2015 Update 3
更新到最新的 Xamarin 穩定版本

開始進行轉換到 .NET Standard Library

  • 請先使用 Visual Studio 2015 Update 3 建立新的 Xamarin.Forms 的專案,請選擇 Blank Xaml App (Xamarin.Forms Portable)
  • 滑鼠雙擊 核心PCL專案內的 Properties,此時,會看到如下圖的截圖;在最下方,可以看到 Target .NET Platform Standard 這個連結,點選這個連結,就會將您的PCL轉換成為使用 .NET Standard Libarary
    XFPCLProperty
    而剛剛產生的核心PCL專案,使用的是 Profile259 類型
    .csproj使用Profile
  • 接著,會看到 Target .NET Platform Standard 這個對話窗,請點選 是(Y) 按鈕
    Target.NETPlatformStandard
  • 不過,似乎 Visual Studio 無法幫您繼續處理這個需求,所以,現在需要將原有已經安裝 NuGet 套件先移除,接著再進行這項轉換工作。
    VisualStudio無法執行

移除所有 NuGet 套件,重新轉換

  • 展開核心PCL專案下的 參考 節點,查看現在有安裝了那些 NuGet 套件,接著使用 管理 NuGet 套件功能,將核心PCL已經安裝好的套件,進行移除
    新XF專案安裝的NuGet
    移除前的管理NuGet套件
  • 滑鼠雙擊 核心PCL專案內的 Properties,此時,會看到如下圖的截圖;在最下方,可以看到 Target .NET Platform Standard 這個連結,點選這個連結,就會將您的PCL轉換成為使用 .NET Standard Libarary;當看到對話窗出現,請點選 是(Y) 按鈕。
    XFPCLProperty
  • 此時,您會看到這個 PCL專案已經從使用 Profile 為基礎類型,轉換成為使用 .NET Standard Library;若您底選下方的 Target Portable Class Library Porfile 連結,則會切回到最初使用 Profile 為基礎的類型。
    已經轉換成為netstand
    .csproj使用netstand

安裝回原有 NuGet 套件

  • 當您使用 管理 NuGet 套件 套件要安裝原有 Xamarin.Forms 的 NuGet 套件,卻無法安裝,會有這樣錯誤訊息:封裝還原失敗。正在復原 'App2' 的寺裝變更。
  • 請打開 project.json 檔案,加入 imports 內容,修正如下內容並且儲存這個檔案
{
  "supports": {},
  "dependencies": {
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "NETStandard.Library": "1.6.0"
  },
  "frameworks": {
    "netstandard1.3": {
      "imports": [
        "portable-net45+win8+wpa81+wp8"
      ]
    }
  }
}
  • 請重新使用 管理 NuGet 套件 功能,加入 Xamarin.Forms 套件
  • 安裝完成之後,您就可以開始執行囉

參考資料

Xamarin.Forms 在 PCL 中,判斷是否在除錯模式

在開發 PCL 專案內的程式碼,是無法使用任何 條件編譯式符號 ,要了解決這個問題,可以定義一個介面,並且在每個平台實作這個介面,最後,透過 Prism 的 Unity 的建構式注入方式,取得這個介面實作物件
  1. 在 PCL 中定義這個介面,這個介面僅有定義一個方法,回傳現在是否在除錯模式下。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace XFDoggy.Infrastructure
{
    public interface IDebugMode
    {
        bool IsDebugMode();
    }
}
  1. 在 Android 專案中,實作這個介面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using XFDoggy.Infrastructure;
using XFDoggy.Droid.Infrastructure;


[assembly: Xamarin.Forms.Dependency(typeof(DebugMode))]
namespace XFDoggy.Droid.Infrastructure
{
    public class DebugMode : IDebugMode
    {
        public bool IsDebugMode()
        {
#if DEBUG
            return true;
#else
            return false;
#endif
        }
    }
}
  1. 在 iOS & UWP 專案,如同上述 Android 程式碼,實作這個介面
  2. 回到 核心PCL專案中,使用建構式注入這個物件,並且判斷現在是否在除錯模式
        public LoginPageViewModel(INavigationService navigationService, IPageDialogService dialogService,
            IDebugMode debugMode)
        {
            _navigationService = navigationService;
            _debugMode = debugMode;
            _dialogService = dialogService;

            if (_debugMode.IsDebugMode() == true)
            {
                Account = "XXX";
                Password = "???";
            }
        }

2016/09/19

Xamarin.Forms Android發佈APK 適用於 Xamarin Android 7.0

在您開發完成 Xamarin.Android 應用程式之後,您需要產生一個Android應用程式套件,簡稱 APK (Android application packages) 檔案,這個檔案的副檔名是 .apk。其實就是一個壓縮 ZIP 檔案,您可以使用任何 ZIP 解壓縮軟體,既可以開啟查看這個檔案內包含了那些檔案。在這個 APK 壓縮檔案內,將會與 Android 套件內的架構與內容都一樣,不過,因為是透過 Xamarin.Android 開發出來的 APK,這還會包含一個資料夾assemblies ,裡面存放了 .NET 組件 (Assembly)與包含 Mono 執行時期的原生程式庫也會在這個 APK 內。
當您需要進行提交該應用程式到 Google Play 內或者想要進行內部 Beta 測試或者佈署到企業內部內使用,您都需要先產生這個 APK 檔案,為了要確保 APK 的資料完整性與沒有被其他人竄改,所以,您需要對這個 APK 進行數位簽名的動作,在簽名之前,您需要打造或者擁有一把您自己的金鑰,做為日後識別這個 APK 檔案確實是由您包裝出來的,而且內容沒有被串改過。
底下文章將會說明如何產生這個 APK 檔案與打造一把自己用於數位簽名的金鑰或者使用之前打造過的金鑰。
這篇筆記的操作內容,僅僅適用於 Xamarin Android 7.0 以後的版本,要如何檢查您的 Visual Studio 內的環境是甚麼 Xamarin Android 版本,請在 Visual Studio 的功能表,點選 說明 > 關於 Microsoft Visual Studio;就會看到如下圖畫面,此時,您會看到這台電腦上的 Xamarin Android 安裝的是 7.0.0.18 版本。
關於XamarinAndroid版本
當您在使用 Xamarin.Android 來進行 Xamarin.Forms 應用程式的除錯,Xamarin.Android 使用內建預設的金鑰褲來進行您的除錯版本程式的簽名,這個檔案位於:
C:\Users\%USERNAME%\AppData\Local\Xamarin\Mono for Android\debug.keystore

產生 APK & 使用程式碼簽名新的金鑰

  1. 請先設定 Android 的原生專案變成 設定為起始專案
  2. 滑鼠右擊 Android 的原生專案,選擇 Archive
    XA_Archive
  3. 此時,會出現 Archive Manager,點選要產生 APK 的檔案項目,接著點選下方的 [Distribute] 按鈕
    ArchiveManager
  4. 出現另外一個畫面,Distribute 對話窗,若您尚未建立自己的簽名金鑰,請點選下方的 + 按鈕
    DistributieApp視窗
    這個時候,出現了 Android Key Store 對話窗,請填寫這些基本資料,建議所有欄位都要填寫,最後按下 Create 按鈕,您的金鑰就產生好了。
    您建立的金鑰將會產生在這個目錄之下,請記得要將您自己產生的金鑰複製保存好
    C:\Users\%USERNAME%\AppData\Local\Xamarin\Mono for Android\Keystore
    AndroidKeyStore
  5. 回到 Distribute 對話窗,點選要進行簽名的金鑰,接著點選 Save As 按鈕,選擇要輸出的 APK 檔案路徑。
  6. 最後,會回到 Archive Manager 視窗,您可以點選 Open Distribution 按鈕,您就會看到剛剛產生且已經簽名過的 APK 檔案;若您要取得尚未簽名的 APK 檔案,請記得要點選 Open Folder 按鈕,就會看到了。