2011-12-08 32 views
1

我們正在創建一個需要超級用戶權限的Android應用程序。 SuperUser.apk和su被安裝。但是,在/ data/app和/ system/app中安裝我們的應用程序似乎有區別。如果我們安裝在/ data/app中,一切似乎都正常。如果我們安裝在/ system/app中,SuperUser.apk不會彈出以授予權限。爲什麼程序在/ system/app中無法獲取超級用戶訪問?

是否有某些類型的程序必須安裝在一個位置而不是另一個位置?

TIA

回答

0

在/ system/app文件夾APK文件已經具有系統級權限,使他們不需要超級用戶,我以爲就是爲什麼它不會彈出。

您應該確認您的應用程序已經擁有您所請求的權限。例如,AlarmManager.setTime需要signatureOrSystem權限android.permission.SET_TIME,並且如果它沒有它會引發異常。您也可以使用PackageManager.checkPermission明確檢查。

如果這不起作用,請檢查APK文件的屬性。如果它們與系統文件夾中的其他APK不匹配,Android可能會忽略它們。你能解決這個問題是這樣的:

chmod 644 <filename> 
+1

應該說是'chmod'而不是'CHMOD'? –

+0

@KeithThompson你當然是對的 - 我已經編輯了答案。 –

相關問題