我們正在創建一個需要超級用戶權限的Android應用程序。 SuperUser.apk和su被安裝。但是,在/ data/app和/ system/app中安裝我們的應用程序似乎有區別。如果我們安裝在/ data/app中,一切似乎都正常。如果我們安裝在/ system/app中,SuperUser.apk不會彈出以授予權限。爲什麼程序在/ system/app中無法獲取超級用戶訪問?
是否有某些類型的程序必須安裝在一個位置而不是另一個位置?
TIA
我們正在創建一個需要超級用戶權限的Android應用程序。 SuperUser.apk和su被安裝。但是,在/ data/app和/ system/app中安裝我們的應用程序似乎有區別。如果我們安裝在/ data/app中,一切似乎都正常。如果我們安裝在/ system/app中,SuperUser.apk不會彈出以授予權限。爲什麼程序在/ system/app中無法獲取超級用戶訪問?
是否有某些類型的程序必須安裝在一個位置而不是另一個位置?
TIA
在/ system/app文件夾APK文件已經具有系統級權限,使他們不需要超級用戶,我以爲就是爲什麼它不會彈出。
您應該確認您的應用程序已經擁有您所請求的權限。例如,AlarmManager.setTime需要signatureOrSystem權限android.permission.SET_TIME,並且如果它沒有它會引發異常。您也可以使用PackageManager.checkPermission明確檢查。
如果這不起作用,請檢查APK文件的屬性。如果它們與系統文件夾中的其他APK不匹配,Android可能會忽略它們。你能解決這個問題是這樣的:
chmod 644 <filename>
應該說是'chmod'而不是'CHMOD'? –
@KeithThompson你當然是對的 - 我已經編輯了答案。 –