해당 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
'bluetooth' 카테고리의 다른 글
LE MTU에 관한 article (0) | 2020.02.13 |
---|---|
Sample rate, Bit depth, Bit rate란 (0) | 2018.09.27 |
bluetooth 코덱 비교에 관한 글 (0) | 2018.09.27 |
LE scan 관련 tips (startScan 및 startLeScan이 안될 때) (0) | 2018.08.09 |
BLE 기본 용어 (0) | 2018.08.07 |