Arthur1977 2022-02-13 11:35 采纳率: 0%
浏览 5
已结题

ndroid APP 可以發佈 Google Play 及安裝到手機,但是手機執行卻出現 "應用程式未安裝"

您好,我將問題說明如下 :

(1) 這個 Android APP 是用 PhoneGap 把一個網站包裝起來成為一個 Android APP。
但是因為知其站做的同事離職很久,只能找包裝 APP用的 網頁檔案;
再加上目前 PhoneGap 已經無法再使用了,我只能選擇用目前最新版的 Cordova 來包裝這些網頁檔案成為 APP。
我用的 Cordova 版本是 11.0.0
(2) 目前執行 cordova run android 指令可以在 Android 的 ADV 裡顯示出正常的畫面,看起來產生的 APK 檔可以正常運作。
(3) 我看了一下 Google Play 目前的規範,已經不接受 .apk 的檔案了,只能接受 .aab 格式的檔案,所以我再把 cordova 產生的 .apk 透過 以下指令

java -jar apktool.jar d app-debug.apk -s -o decode_apk_dir

做解壓縮後,再透過以下指令 產生要轉換成有關聯資源的 .apk 檔案 :

D:\AndroidSDK\build-tools\30.0.3\aapt2.exe link --proto-format -o base.apk -I D:\AndroidSDK\platforms\android-30\android.jar --min-sdk-version 14 --target-sdk-version 30 --version-code 102 --version-name 1.0.2 --manifest decode_apk_dir\AndroidManifest.xml -R compiled_resources.zip --auto-add-overlay

再透過以下指令 產生 .aab 檔:

java -jar bundletool-all.jar build-bundle --modules=D:\MobileDev\Cordova\MyAndroid\APK_To_AAB\base.zip --output=D:\MobileDev\Cordova\MyAndroid\APK_To_AAB\aab\base.aab

產生 .aab 檔。
(4) 因為上傳到 Google Play 的時候,畫面顯示需要做簽名,所以再透過以下指令產生證書

keytool -genkey -keyalg RSA -keystore ABC_KeyStore -validity 7000 -storepass H4f8S1k3 -keypass I7n9P5z2 -alias ABC_Android

然後再使用以下指令 對 .aab 檔進行簽名

jarsigner -digestalg SHA1 -sigalg SHA1withRSA -keystore D:\_My\Signature\Android\ABC_KeyStore -storepass H4f8S1k3 -keypass I7n9P5z2 D:\MobileDev\Cordova\MyAndroid\APK_To_AAB\aab\base.aab ABC_Androidg

經過以上步驟之後,可以通過上傳到 Google Play 的檢查,也可以用 內部測試的方式做發佈,通知 APP 安裝網址給指定的電子郵件信箱。
收到測試 APP 網址 的人員點及該網址後雖然可以安裝這一個 APP , 安裝過程中也沒出現任何錯誤訊息,安裝完成後也有出現 APP 安裝完成的訊息。
但是在手機上點擊 這一個APP 的時候卻出現如下圖的畫面,顯示 "應用程式未安裝"

img


我查了 Google Play 的說明以及一些其他的網路文章,大致上有可能是 :

(1) aab 檔的簽名出問題或是沒有在 Google Play 上調整好 簽名的金鑰
這個部分我一直沒看懂 Google Play 上的說明,也找不到哪邊可以讓我設定我在前面步驟四所產生的證書檔 ABC_KeyStore;
再加上 我上傳 aab 檔的時候,也沒有出現簽名的錯誤訊息。

(2) SDK 版本不對
在前面的步驟三 執行 D:\AndroidSDK\build-tools\30.0.3\aapt2.exe 這一個指令指定的 --min-sdk-version 和 --target-sdk-version 這兩個參數錯誤。
我用來測試的手機的 Android 版本是 7.0 的,對應的 SDK 號碼是 24,但是如果把 target-sdk-version 改成 24 會無法上傳到 Google Play ,
Google Play 強制要求 target-sdk-version 必須至少是 30。

再請大家幫我看看可能是哪邊出問題或是有解決方式,感謝您。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 2月21日
    • 创建了问题 2月13日

    悬赏问题

    • ¥15 winform的chart曲线生成时有凸起
    • ¥15 msix packaging tool打包问题
    • ¥15 finalshell节点的搭建代码和那个端口代码教程
    • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
    • ¥15 Centos / PETSc / PETGEM
    • ¥15 centos7.9 IPv6端口telnet和端口监控问题
    • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
    • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
    • ¥20 海浪数据 南海地区海况数据,波浪数据
    • ¥20 软件测试决策法疑问求解答