Izin hanya diberikan untuk aplikasi sistem

98

Saya memiliki aplikasi Sistem yang menggunakan izin sistem dan saya memiliki izin tersebut yang tercantum di manifes. Eclipse memberikan kesalahan berikut ketika saya mencoba membuat build (build baris perintah berfungsi):

Izin hanya diberikan untuk aplikasi sistem

Saya sudah sadar bahwa aplikasi saya memerlukan izin sistem dan itu bukan masalah bagi saya karena aplikasi saya hanya akan digunakan pada ponsel yang di-rooting. Jadi saya ingin menekan kesalahan ini, ada yang tahu caranya?

EDIT
Proyek saya sudah mengkompilasi dengan baik pada baris perintah, menginstal, menjalankan dll .. Masalah saya adalah tentang gerhana memberikan kesalahan untuk file manifest yang sah.

Caner
sumber
2
Apakah Anda memeriksa stackoverflow.com/q/9494965/603744
Andro Selva
@AndroSelva itu tidak terkait, proyek saya sudah mengkompilasi dengan baik pada baris perintah, menginstal, menjalankan dll .. Masalah saya adalah tentang gerhana memberikan kesalahan untuk file manifes yang sah. IMO seharusnya hanya menghasilkan peringatan dalam kasus ini.
Caner

Jawaban:

205

Di Eclipse:

Jendela -> Preferensi -> Android -> Pemeriksaan Kesalahan Lint.

Dalam daftar temukan entri dengan ID = ProtectedPermission. Setel Tingkat Keparahan ke sesuatu yang lebih rendah dari Kesalahan. Dengan cara ini Anda masih bisa mengkompilasi proyek menggunakan Eclipse.

Di Android Studio:

File -> Pengaturan -> Editor -> Inspeksi

Di bawah Android Lint, temukan Using system app permission. Hapus centang pada kotak atau pilih Tingkat Keparahan yang lebih rendah dari Kesalahan.

Ole
sumber
1
Terima kasih! Di Android Studio 1.2, saya menemukan ini di bawah File -> Settings -> Editor -> Inspections.
Aaron
Saya ingin mengubah kecerahan layar secara terprogram. Saya telah mengedit Lint di bawah pengaturan. Tapi itu melemparkan beberapa pengecualian keamanan saat mencoba mengubah kecerahan layar secara terprogram. Ada yang punya solusi untuk mengimplementasikan fitur ini di Android 3.1 di atas Marshmallow, silakan bagikan.
Nithinjith
3
Di Android Studio 2.1, Buka File -> Settings -> Editor -> Inspections lalu perluas Android> Lint> Correctness. Pilih "Menggunakan izin aplikasi sistem", ubah tingkat keparahan atau hapus centang pada kotak.
Ezekiel Baniaga
2
Itu di bawah Android > Lint > Correctnessuntuk saya.
Beyondo
74

Untuk mengabaikan kesalahan ini hanya untuk satu contoh, tambahkan tools:ignore="ProtectedPermissions"atribut ke deklarasi izin Anda. Berikut ini contohnya:

<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
    tools:ignore="ProtectedPermissions" />

Anda harus menambahkan toolsnamespace di elemen root manifes

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
Jesta
sumber
3
Ini jawaban yang benar. Mengapa menonaktifkan seluruh pemeriksaan jika hanya diperlukan sebagian. Terima kasih Pak!
Yoraco Gonzales
Anda harus menambahkan namespace ... xmlns: tools = " schemas.android.com/tools "
purplecabbage
13

Memiliki kesalahan yang sama dari waktu ke waktu (ketika saya menetapkan lokasi pemasangan ke "lebih memilih eksternal" dalam manifes). Cukup bersihkan dan bangun kembali proyek. Bekerja untuk saya.

Amalia
sumber
3

ketika Anda menambahkan izin di manifes kemudian di gerhana pergi ke proyek dan klik

  1. klik proyek
  2. klik pada proyek bersih itu saja

k pada proyek bersih

Adiii
sumber
2
tools:ignore="ProtectedPermissions"

Coba tambahkan atribut ini ke izin itu.

pengguna10206860
sumber
1

Preferensi -> EditorEditor -> Inspeksi -> Android Lint -> hapus centang item Using System app permissio

Văn Vũ
sumber
1

Path In Android Studio di mac:

Android Studio -> Preferensi -> Editor -> Inspeksi

Perluas Android -> Perluas Lint -> Perluas Koreksi

Hapus centang pada kotak untuk Menggunakan izin aplikasi sistem

Klik "APPLY" -> "OK"

Karishma Chaudhary
sumber