目錄

儲存庫: https://github.com/WSA-Community/WSAGAScript
翻譯版本: f9d6b42 (2021/12/2)
首次嘗試翻譯,不一定精確流暢。

微軟在Windows 11中推出子系統Android,至目前翻譯時(2021/12/09)為止,還只有在美國的測試員通道有在Microsoft Store中提供。

但WSA中微軟只有跟Amazon合作,裡面的應用程式商店只有Amazon Store,而非大家常用的Google Play,其中選擇非常少,ADeltaX在幾天後就找到方法來在WSA中安裝Google GApps框架,就是此專案。


這個專案正在持續進行中

這個專案會經常不照時程的更新。
現在這個README可能不會完全的清楚,將會盡速修復。

至於潛在問題,請發起討論(Discussions)來取代問題(Issues)。
只有在有實際的問題在阻礙著你使用這個專案時才需提出問題(Issues)。

法律警告

當你在使用這個專案提供的工具時(例如包括但不限於腳本(Script)),視同你同意 未授權條款(Unlicence Licence) ,其中指出「軟體『按照現況』提供」(“THE SOFTWARE IS PROVIDED “AS IS”")。

對於終端使用者這是一個警告,儘管我們現在沒有任何明確的確認——這種安裝Google服務和Google Play的方式可能處於法律灰色地帶。

版權提醒

在這份文件(或是整個專案)中的產品、商標屬於原作者,沒有刻意侵害版權。

作為一個暫時的措施與附加資訊(特別是README還是不清楚的時候, @ADeltaX 在YouTube上提供了一個影片教學)

點擊圖片以查看影片

在Windows子系統Linux(第二版)中安裝

譯註:Windows子系統Linux原文為Windows Subsystem for Linux,縮寫為WSL。

問答:WSL的安裝

如果你從未用過WSL,請確認以下事情:

  • 你必須執行Windows 10 2004版或以上(組建19041或以上)或是Windows 11。

確認你的組建最快的方式是在Windows搜尋執行winver指令,也可以透過「執行新工作」(在開始按鈕上按右鍵>「執行」)

  • 為何我需要「WSL」?

因為Android作為作業系統的建置——我們需要的特定的修改工具只在Linux基底的作業系統上有提供。最快去存取那些工具的方法就是透過WSL。

如何安裝WSL

  • 用管理員身分打開Windows PowerShell
  • 執行wsl --install:這樣一來就會安裝Ubuntu 20.04 LTS於WSL(第二版)中,而且全部必要的組件需要在它是預設的情況下執行(推薦)

在下載與安裝必要組件的時候,你的電腦可能會重新啟動數次。
在這之後跟著安裝精靈的指示繼續進行,如果你有任何問題,微軟提供的WSL官方文件可以幫上忙。

  • wsl --list --verbose確認你的WSL發行版是安裝在第二版的。
    如果因為一些原因你接收到第一版的核心(Kernel)(或是你平時在執行這些指令時有些麻煩)——請跟著以下段落來跟著做。

Microsoft Docs: Installing WSL

Microsoft Docs: Set up and best practices

如何把WSL1轉換成WSL2(並且手動安裝)

如果你在用wsl --install安裝WSL2時出了些麻煩,或是一些原因讓你接收到了WSL第一版的安裝,這個段落是給你的。

跟隨以下步驟:

  • 下載WSL2核心來手動安裝,用上面微軟文件中的連結(手動安裝)然後確認第四步來接收核心套件。
  • 用管理員身分打開Windows PowerShell並執行:
    • wsl --shutdown以停止全部WSL相關的處理程序(如果有正在執行的話)
  • 安裝上面步驟提到的核心套件。
  • 回到Windows PowerShell並執行:
    • wsl --list --verbose來取得你的安裝發佈名稱,在Ubuntu的情況下,它會像是Ubuntu-20.04
    • wsl --set-version <發佈名稱> 2,把發佈名稱換成你的情況。
    • 選擇性:如果你未來想要只自動安裝WSL2版本的組建,wsl --set-default-version 2
      確認兩者的不同請拜訪 Microsoft Docs: WSL - Compare versions

安裝unzip、lzip

現在我們假設你使用的是預設安裝(Ubuntu),終端機指令都會針對Ubuntu版本提供。
這些指令在其他大部分的Linux發行版中也會正常運作,但可能會使用到其他的套件管理器。
請在網路上確認如何正確地安裝應用程式在你使用的發行版上。

執行以下WSL終端機(如果你不確定WSL終端機是什麼,請參考影片、微軟說明文件、或是在你的開始功能表中搜尋Ubuntu):

注意!給從未使用過Linux終端機的使用者——當你被要求輸入密碼(你在安裝WSL時設定的)時,輸入內容因為安全考量不會在終端機顯示,你必須盲打密碼並且按下Enter。
如果密碼輸入錯誤,系統會再給你兩次輸入機會,兩次之後你需要重新執行指令,並再次輸入密碼。

sudo apt update
sudo apt install unzip lzip

我們確認了更新的可用性與要求安裝兩個執行這個專案中的腳本必須要有的套件,它們可能已經在你安裝的時候已經存在,但無論如何確認一下還是比較好。

準備資料夾結構

為了簡化過程,請在C槽根目錄建立一個資料夾,然後像是這樣C:\WSA
如果你想要也可以建立在其他位置,但請確實地調整以下指令以符合新的位置。

**注意!**放置下載檔案的資料夾將會變成安裝資料夾,不要刪除那些資料夾!
注意!在這份README最後一次更新的時候,嘗試在含有空白字元的路徑下(例如D:\Zulu Storage\WSA中的「Zulu Storage」)執行將會導致錯誤,請確定在問題修正前不要使用含有空白字元的路徑。

譯註:也盡量確保路徑中只有ASCII字元,否則也有可能出現無法預期的錯誤。

提示:你也可以打開任何資料夾,即使那些位置在Linux WSL檔案系統中,輸入explorer.exe .(對,就是點)在WSL終端機中,來移動檔案到那裏。

下載Windows Subsystem Android™安裝套件

譯註:Windows Subsystem for Android™,縮寫為WSA。

下載

由於我們需要修改安裝檔,我們不能從Microsoft Store下載WSA,我們用這個 服務 來直接下載。

譯註:該服務是協助我們從Microsoft Store取得產品的安裝檔連結的,實際上下載的來源是官方而非第三方儲存,請確認下載連結的對象網域是microsoft.com。

使用以下設定:

  • ProductID: 9P3395VX91NR
  • Ring: SLOW

譯註:該服務左方的選單要選擇成ProductID,右方下拉選單是Ring。

點擊確認按鈕,然後找到檔案大小約為1.2GB(通常在頁面的底端)且副檔名是.misxbundle

按下檔案名稱來開始下載,你可能會被瀏覽器警告「無法安全的下載」,請忽略警告然後強制下載(點擊類似「仍要保留」的按鈕,每種瀏覽器會有所不同)。

儲存該檔案到我們準備的資料夾C:\WSA

譯註:有些瀏覽器(例如Chrome、Edge)在點擊連結的時候不會有反應,請對連結按下右鍵>另存連結為。

抽取

  • 下載7zip會類似的封裝檔程式並用它來抽取下載來的檔案,不用在意那些檔案沒有任何的封裝檔副檔名(像是.zip)
  • 在抽取之後打開
    C:\WSA\MicrosoftCorporationII.WindowsSubsystemForAndroid_versionnumber_neutral___identifier\
    這個資料夾會包含很多.misx檔案,用「用大小排序」來找到兩個最大的檔案。
  • 解壓縮在你的架構中有效的那個項目,例如像是WsaPackage_1.8.32822.0_x64_Release-Nightly.msix
  • 打開抽取出來的資料夾
  • 找到並刪除檔案AppxBlockMap.xmlAppxSignature.p7x[Content_Types].xml
  • 找到並刪除資料夾AppxMetadata

不要關掉這個資料夾,我們會回來這裡收集*.img檔案。

從OpenGApps專案下載「GApps」

要安裝Play商店,我們需要從某些地方拿到它,使用 OpenGApps

使用設定:

  • Platform: 如果你在傳統的筆電/電腦上執行Windows,請選擇x86_64,否則就選擇ARM64
  • Android: 11.0
  • Variant: Pico(在寫這份README時,只有最少的功能確定能在Pico上運作)

暫時儲存.zip檔案在C:\WSA\gapps-zip-file-name.zip不要將它解壓縮。

複製這個儲存庫並且填入資料夾

由於我們使用C:\WSA,所以你可以用Windows檔案總管來移動檔案。

提醒:指令針對Ubuntu提供

注意!確定你可以從WSL中存取你的Windows檔案系統,你可以執行cd FolderName來變更到其他資料夾,用ls來列出你在的地方有什麼檔案與資料夾。
典型的情況下,Windows檔案系統在「/mnt/$儲存區代號」中,所以/mnt/c/Users會是你的Windows中的C:\Users

cd /mnt/c/WSA
git clone https://github.com/WSA-Community/WSAGAScript

等待指令結束運作。

在這個教學的抽取步驟(位於下載Windows Subsystem Android™安裝套件)中,我們取得了一個資料夾其中包含四個*.img檔案分別為product、system、system_ext、vendor。
移動那些檔案到C:\WSA\WSAGAScript\#IMAGES

我們也有檔案C:\WSA\gapps-zip-file-name.zip,複製這個.zip檔案到C:\WSA\WSAGAScript\#GAPPS
不要解壓縮它,只要移動檔案就好。

最後的準備

變更架構

如果你在ARM架構的裝置上(例如Qualcomm、Snapdragon)上使用這個專案,請編輯VARIABLES.sh並更正架構,提示都在檔案中。

設定執行權限給腳本

你應該在WSL終端機中保持在同一個目錄,如果沒有的話,用cd /mnt/c/WSA來會到那裏。
設定執行權限給腳本:

chmod +x *.sh

執行ls -l來驗證你的腳本有執行權限,你應該要看到-rwxrwxrwxVARIABLES.shapply.shextend_and_mount_images.shextract_gapps_pico.sh的行首。

執行腳本

請確定你位於跟前一步同一個目錄,然後執行:

./extract_gapps_pico.sh
sudo ./extend_and_mount_images.sh
sudo ./apply.sh
sudo ./unmount_images.sh

複製編輯過的映像檔

在成功執行之後,你可以把映像檔從C:\WSA\WSAGAScript\#IMAGES複製回C:\WSA\MicrosoftCorporationII.WindowsSubsystemForAndroid_1.8.32822.0_neutral___8wekyb3d8bbwe\WsaPackage_1.8.32822.0_x64_Release-Nightly(只是範例,請複製回你拿出映像檔的地方)。

註冊編輯過的Windows Subsystem Android™安裝套件

  • 在Windows搜尋「開發人員設定」,打開設定之後啟用頁面上的「開發人員模式」。
  • 解除安裝其他任何已安裝的WSA版本(如果有的話,確實地解除安裝WSA主程式,開始功能表上全部相關的Android應用程式也會被自動移除)
  • 用管理員身分打開Windows PowerShell並且執行Add-AppxPackage -Register path-to-extracted-msix\AppxManifest.xml

path-to-extracted-msix用「複製編輯過的映像檔」段落(右上)來替換。

譯註:如果註冊時出現錯誤訊息說Microsoft.UI.Xaml.2.6版本找不到或是有衝突,就去剛才下載WSA安裝檔的地方一併下載Microsoft.UI.Xaml2.6的appx來安裝。

WSA將會安裝帶有GApps,請登入到Play商店並安裝「Android System WebView」,否則大多數應用程式會因為沒有該組件而導致崩潰。

  • 在開始功能表找到Windows Subsystem for Android™,按右鍵然後解除安裝。
    這也會同時解除安裝Android,全部的Android應用程式也會從開始功能表消失,因為那是來自WSA的捷徑。
    你不需要預先一個個解除安裝全部的Android應用程式。
  • 找到你放檔案的資料夾(在這個README範例中,它會在C:\WSA),刪除它。

完成。

你可以藉由複寫核心(Kernel)來取得root權限。(在登入GApps時這個步驟已經不必要了)

在ADB SHELL中用su取得ROOT

從這個儲存庫(misc資料夾)複製核心檔案到你解壓縮misx資料夾中的Tools資料夾(請確保WSA沒有在運作,按下WSA設定中的Stop按鈕然後關閉設定)。

在misc中的核心檔案用它們各自的架構命名,在複製到Tools之前不要忘記重新命名核心檔案。

這樣做會允許你可以在adb shell中使用su。進入adb shell然後執行以下指令:

su

你現在就是root了。

核心來源


隨機推薦文章