bluetooth

BLUETOOTH_PRIVILEGED permission.

easy16 2019. 11. 7. 16:27

 

해당 BLUETOOTH_PRIVILEGED  권한을 갖기 위해선 아래와 같이 system 권한이 필요.

 

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:sharedUserId="android.uid.system"
package="~~~>

 

BLUETOOTH_PRIVILEGED permission을 추가하고, priv-app에 넣고 빌드를 하게 될 경우, zygote에서 crash가 발생하게 된다. (부팅이 안됨)

 

 

#로그 확인하여 체크할 있음.

PackageManager: Privileged permission {PERMISSION_NAME} for package {PACKAGE_NAME} - not in privapp-permissions whitelist

 

#아래와 같이 whitelisting 필요.

https://source.android.google.cn/devices/tech/config/perms-whitelist?hl=ko

 

 

Android studio에서 빌드 시, platform key signed 이 되어 있어야 system 권한을 줄 수 있음.

keystore 생성 후, default.keystore or debug.keystore 를 replace 해준다. (기존 것은 backup해둘 것)

 

openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name AndroidDebugKey
keytool -importkeystore -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass android -alias AndroidDebugKey