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.



@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.


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"

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.


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



1

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


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"

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.