この議論に続いて、製造元から受け取った特定のデバイスの独自のプラットフォーム証明書を使用して、私が取り組んでいるシステム アプリに署名しました。私は次のように署名しました。
java -jar out/host/linux-x86/framework/signapk.jar \
build/target/product/security/platform.x509.pem \
build/target/product/security/platform.pk8 \
Launcher-unsigned.apk \
Launcher-unsigned.apk
zipalign -f 4 Launcher-signed.apk Launcher.apk
私のランチャーにはさまざまな権限があります。
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
[snip]
<uses-permission
android:name="android.permission.SET_PREFERRED_APPLICATIONS"
tools:ignore="ProtectedPermissons" />
そして私はマニフェストに含めました:
<manifest [...]
android:sharedUserId="android.uid.system" >
以前はアプリが SD カードへの書き込みに成功したが、優先アプリケーションの設定に失敗していました (これに似た私のコード)、現在は SecurityException をスローしませんが、代わりに SD カードへの書き込みで FileNotFoundException をスローし、次のメッセージが表示されます。許可が拒否されました。
アプリが保護されたアクセス許可を取得したものの、他のいくつかを失った場合、何が起こる可能性がありますか?