[英]Android device is not connected to USB for debugging (Android studio)
[英]How to debug an app upgrade in Android Studio on a USB connected device
我已經在手機上發布了Google Play商店應用的正式版,並在Android Studio中發布了該應用的更新版本。 我想測試升級過程 ,但是遇到版本問題,然后是日志記錄問題。
要進行“干凈”安裝,我可以進入手機的設置“ Backup & reset > Automatic restore
,將其關閉,然后卸載該應用程序,然后從Play商店安裝它。 另外,我可以下載正式版APK並從adb
命令行安裝(詳細信息如下)。 結果是我的設備應與常規生產用戶相同。
與該問題並不直接相關,但要了解我觀看升級過程的動機是該應用程序具有SQLite數據庫,並且我擴展了SQLiteOpenHelper
,因此調用了onUpgrade()
,並且正在完成一些數據庫架構工作。
如果我單擊按鈕以部署應用程序,然后選擇我已連接的設備,則該設備要先卸載,然后再繼續:
安裝失敗,並顯示以下消息:無法完成會話:INSTALL_FAILED_UPDATE_INCOMPATIBLE
顯然我可以卸載,但這無法測試升級過程!
我使用“ Generate Signed APK...
”構建了一個“發行版” APK,與生成要上傳到Play商店的發行版時使用的過程相同。 這可以解決版本控制問題,但會導致日志記錄可見性問題。 過去和現在使用的發行版配置如下所示:
“ C:\\ Program Files(x86)\\ HTC \\ HTC Sync Manager \\ HTC Sync \\ adb”安裝-r app-release.apk
上面沒有升級但沒有卸載。 我使用的過程是在Android Studio中打開Terminal
,將目錄更改為存儲生成的APK的目錄,然后鍵入上述命令。
adb命令行觸發了升級過程,但沒有立即開始向Logcat窗口提供調試信息。 我可以為所有進程連接到Logcat,但是我無法僅獲取進程的調試信息,也無法訪問調試工具。
如何才能從運行簽名生產版本的設備開始,然后使包含在Android Studio中的更新版本能夠運行而無需卸載,並且能夠在升級過程中查看調試輸出? 或者,如何修改已簽名的生產版本,使其可以更新新版本並允許調試?
因為您是從Debuggable=false
的APK開始的,所以解決方法包括:使用與生產發布過程相同的過程構建對應用程序的更新,並使Logcat包含所有過程,這可能是您最好的選擇。
一種選擇是將應用的特定版本從您的源代碼控制系統中拉出,並使用Debuggable=true
構建,然后將生成的APK用作起點,而不是使用Play商店中的APK。
制作兩個版本,而不是只制作一個APK發布版本並將其上傳到Play商店。 一個版本將照常簽名並上傳。 並使用完全相同的源代碼制作另一個具有Debuggable=true
APK。 用版本號重命名每個文件。 然后,以后,如果您想嘗試從任何版本升級到任何版本,都可以這樣做,並且仍然具有調試功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.