2013-01-10 29 views
4

我需要創建我的應用程序作爲系統,因爲我需要獲得許可android.permission.WRITE_SECURE_SETTINGS。 安裝到虛擬設備(Eclipse)後,我的應用出現在'/data/app'中。我嘗試手動將他移動到'/system/app',設置權利644,但是當我啓動我的應用程序 - 祝酒'App isn't installed'。重新啓動後(關閉虛擬設備並重新啓動),我的應用程序從'/system/app'中消失。如何使我的應用系統

地址: - 1.爲什麼android無法在'/system/app'中看到我的應用程序? - 2.爲什麼重啓虛擬設備後,我的應用程序從'/system/app'消失?

什麼使Eclipse模擬器和真實設備上的應用系統最好的方法是什麼?

+3

答案很簡單:你可以「T除非你是像三星或索尼的設備製造商:P –

+0

@ MoJo,我使用來自Eclipse的非標準虛擬Android設備(5.1「WVGA,GoogleAPI 16,sdcard 512) –

+0

Dude我說你喜歡你需要建立你自己的固件來使得你的應用成爲系統應用 –

回答

1

默認情況下,您無法將您的應用設置爲系統應用。還有其他一些方法,您可以通過其他方式將其他常規應用程序作爲系統應用程序在rooted phones上。

您可以使用以下步驟將APK安裝到/ system/app。

  1. 將APK推送到SD卡。

    $ adb push SecureSetting.apk /sdcard/

  2. 進入控制檯,並獲得外殼

    ​​

  3. 切換到超級用戶。如果你的設備沒有植根,請先植根。 (如果你不知道該怎麼做,只是谷歌。)

    $ su

  4. 重新掛載系統分區具有寫權限。

    $ mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

  5. 貓您的APK從/ SD卡/到/ System /,有些人得到了失敗,cp命令由於CP不支持。所以用貓來代替。

    $ cat /sdcard/SecureSetting.apk > /system/app/SecureSetting.apk

  6. REMOUT /系統分區恢復到只讀,並退出

    $ mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
    $ exit

然後重新啓動您的設備,將APK應該已經安裝在/系統/應用程序。 如上所述here

+0

我之前讀過這個http:// stackoverflow的.com /一個/1665964分之10362072。我做這個,但這並不能解決我的問題。我需要這個結果到我的虛擬設備上Eclipse模擬器 –

+0

@TapaSave,你需要用正確的密鑰簽名你的apk。 – OrhanC1

3

安裝在Android設備上的應用程序可以根據其安裝位置大致分爲系統應用程序或用戶應用程序。用戶應用程序只是您通過Google Play商店,Amazon Appstore或sideloading安裝的所有常規應用程序。這些進入你的Android手機的/數據分區,這是用於用戶數據和應用程序的內部存儲器的一部分。

系統應用程序基本上是預裝在您的ROM中的應用程序。在標準的Android用戶環境中,用戶不具有對/ system分區的寫入權限,因此無法直接安裝或卸載系統應用程序。這個過程並不像聽起來那麼難。但是,有一個問題。

爲了在Android設備上將應用程序安裝爲系統應用程序,您的設備必須是植根的,或者安裝了自定義恢復(或兩者兼有)。通常幾乎每個安裝了自定義恢復的用戶都會使用root用戶的ROM,因此我們只會將該方法用於rooted手機。 轉到下面的tutorial.it可能會幫助你。

Make Your app System App

+0

謝謝,我知道。我需要解決方案主要在我的虛擬Android設備Eclipse上。 –

0

你不能讓應用程序作爲系統應用上emulator.But可以使應用程序作爲device.For,你需要有git倉庫建立在您的電腦系統的應用,並設置回購後,複製回購文件夾/包/應用程序的應用程序文件夾,並把它編譯,你會得到system.img出庫文件夾回購。然後你可以刷新system.img在SD卡上,這樣您就可以將您的應用程序作爲系統應用程序使用。這是將應用程序製作爲系統應用程序的唯一方法。

0

如果設備沒有根目錄,則不能將任何內容複製到系統或數據分區。

用root做在命令提示符或Linux外殼下面的命令,所有應罰款:

adb push fileName /data/local/tmp 
adb shell 
su 
mount -o remount, rw /system 
cp /data/local/tmp/fileName /system/folderOfYourChoise 
chmod 644 (if its an apk and you want the system to use it as a system app) 
exit (exits the su shell) 
exit (exits the adb shell) 
adb reboot (to apply and see changes on the device) 
相關問題