2011-06-22 79 views
0

我如何(強行)從模擬器實例中刪除股票的Android手機應用程序?從Android模擬器中刪除手機應用程序?

我特別喜歡那些已經成功刪除了Phone應用程序的人的回答。

刪除電話應用程序可能也需要刪除聯繫人應用程序,因爲它們緊密集成,這很好。

解決方案

經過大量的研究,似乎唯一的辦法就是從源代碼重建了Android SDK,爲Maciej Pigulski answered

經過fetching the android source,從Android makefile build/target/product/core.mk中刪除PhoneContacts。並建立SDK像往常一樣,即:

. build/envsetup.sh 
lunch generic-eng 
make sdk 

,並在out/host/linux-x86/sdk你將有一個zip文件方含一個全新的SDK準備在例如使用蝕。

+0

股票android應用程序的手段?系統應用或第三方應用? – Sujit

+0

我不確定它是如何與模擬器一起工作的,但您可以使用「adb shell」導航到系統的應用程序目錄(系統/應用程序),然後執行rm Phone.apk。這可能不起作用,因爲您可能需要root權限才能這樣做 – dymmeh

+0

@Sujit:內置的應用程序/系統應用程序/股票應用程序。 –

回答

1

我有一個想法如何做到這一點,但這不是一個簡單的方法。

它需要您需要模擬器的Android操作系統的源代碼。然後在make文件中,您可以禁用包括Phone應用程序在內的輸出圖像,並使用'make sdk'任務構建操作系統。這將生成一個SDK(如Google站點上的SDK),其中包含排除了電話應用程序的二進制文件。然後當你用這個SDK創建一個模擬器時,它不會有Phone.apk。

痛苦但如果你真的需要它,試試吧。

+0

我真的很希望不必走這條路,只需要將一些shell腳本一起破解掉使用adb的應用即可。但如果這是唯一可行的行動方案,那麼我就會這麼做。 –

+0

好吧,我剛剛完成了一個沒有Phone和Contacts應用程序的新SDK +仿真器,它確實看起來像預期的那樣工作。當按下電話關閉按鈕時,它會顯示一個祝酒信息,其中沒有安裝電話應用程序。如預期。如果沒有其他人在幾天內提出更簡單的解決方案,我會獎勵您獎金。謝謝。 –

1

如果您有根訪問權限,您可以刪除提供此應用的.apk文件。您將不得不在設備上安裝的文件夾中四處查看。

+0

這是模擬器,因此我有root權限。我已經嘗試過了,它不起作用。即使當我以'讀寫模式'來掛載/系統分區時,我也不能執行'rm/system/app/Phone.apk'。然而,我可以做一個'echo />/system/app/Phone.apk',我覺得這很有意思。但是,這隻會導致模擬器繼續顯示對話,說明電話應用已崩潰。 –

+0

嗯,你確定Phone.apk是使股票應用程序?它看起來像這個apk是os或類似的東西。 – Manuel

+0

Phone.apk和Contacts.apk使您看到的股票電話應用程序(例如撥號程序+呼叫日誌標籤來自Phone.apk聯繫人標籤來自Contacts.apk)。我確信這一點。 :) –

2

我成功地刪除電話應用程序無需重建SDK(非常長的操作...)

您可以在您的SDK中編輯system.img(位於例如〜/ android-sdk-linux_x86/platforms/android-10/images/system.img)對應於您的系統部分仿真器(手機位於/system/apps/Phone.apk)

我啓動了仿真器,用adb連接到仿真器外殼。我使用讀/寫選項(mount -o rw,remount/system/system)重新裝入系統分區後刪除了打包的/system/apps/Phone.pak

我將模擬器mkfs.yaffs2編譯爲手臂這裏找到(http://code.google.com/p/android-group-korea/downloads/detail?name=mkfs.yaffs2.arm

使用這個工具來重建我的system.img在我的模擬器殼: mkfs.yaffs2 /系統/sdcard/system.img

拉/sdcard/system.img到我PC。更換系統。img模擬器(〜/ android-sdk-linux_x86/platforms/android-10/images/system.img)並重新啓動模擬器。

電話應用程序已經過去!

相關問題