2017-10-10 7 views
2

私のアプリケーションでは、アプリケーションの中核機能には必要ないカメラを使用する必要がありますので、カメラを使用するにはオプションです。だから、マニフェストに次のように私は許可を宣言:Android:ADBからの許可を

<uses-permission android:name="android.permission.CAMERA"/> 
<uses-feature android:name="android.hardware.camera" android:required="false"/> 
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/> 

をしかし、私は、次のコマンドを使用して、ADBを通じて権限を付与しようとすると、それがエラーを与える:

pm grant my.app.package android.permission.CAMERA 

はエラーを与える:

Operation not allowed: java.lang.SecurityException: Can't change android.permission.CAMERA. It is required by the application 

私のデバイスはrootedで、アンドロイド5.1.1(22)を実行します。 ADB documentationによれば、許可はオプションであると宣言されているので、上記のようにadbからの許可を与えることができます。私はthisthisおよびthisを参照しました。しかし、私はまだそれが動作していない理由の理由を理解することができませんでした。

ご協力いただきありがとうございます。

\

答えて

0
adb shell pm [grant|revoke] [package] android.permission.CAMERA 

使用adbのシェルコマンドを実行すると、すべてのgrant/revoke permission with adb

-1

まず、のは、コンピュータに携帯電話を接続してみましょうとのがインストールされているどのように多くのアプリを見てみましょうさらに明確化のためにこれを参照してください。

>> ./adb shell pm list packages 

パッケージ名のリスト:

それをバック付与する方法をここに

>> ./adb shell pm revoke com.google.android.GoogleCamera android.permission.CAMERA 

と::許可を取り消す方法をここに

>> ./adb shell pm list permissions -d -g 

[...] 
group:android.permission-group.CAMERA 
    permission:android.permission.CAMERA 
[...] 

そして:

[...] 
com.google.android.GoogleCamera 
[...] 

10は、今、私たちはすべての権限のリストを取得しようとしている

>> ./adb shell pm grant com.google.android.GoogleCamera android.permission.CAMERA