Quyền chỉ được cấp cho ứng dụng hệ thống


98

Tôi có ứng dụng Hệ thống sử dụng các quyền hệ thống và tôi có các quyền đó được liệt kê trong tệp kê khai. Eclipse đưa ra lỗi sau khi tôi cố tạo một bản dựng (hoạt động xây dựng dòng lệnh):

Quyền chỉ được cấp cho các ứng dụng hệ thống

Tôi đã biết rằng ứng dụng của mình yêu cầu quyền hệ thống và đó không phải là vấn đề đối với tôi vì ứng dụng của tôi sẽ chỉ được sử dụng trên điện thoại đã root. Vì vậy, tôi muốn ngăn chặn lỗi này, có ai biết làm thế nào?

CHỈNH SỬA
Dự án của tôi đã biên dịch tốt trên dòng lệnh, cài đặt, chạy, v.v. Vấn đề của tôi là về việc nhật thực đưa ra lỗi cho tệp kê khai hợp pháp.


2
Bạn đã kiểm tra điều này stackoverflow.com/q/9494965/603744
Andro Selva

@AndroSelva nó không liên quan, dự án của tôi đã biên dịch tốt trên dòng lệnh, cài đặt, chạy, v.v. Vấn đề của tôi là về việc eclipse đưa ra lỗi cho tệp kê khai hợp pháp. IMO nó chỉ nên đưa ra cảnh báo trong trường hợp này.
Caner

Câu trả lời:


205

Trong Eclipse:

Kiểm tra lỗi Window -> Preferences -> Android -> Lint.

Trong danh sách tìm một mục nhập với ID = ProtectedPermission. Đặt Mức độ nghiêm trọng thấp hơn Lỗi. Bằng cách này, bạn vẫn có thể biên dịch dự án bằng Eclipse.

Trong Android Studio:

Tệp -> Cài đặt -> Trình chỉnh sửa -> Kiểm tra

Dưới Android Lint, xác định vị trí Using system app permission. Bỏ chọn hộp kiểm hoặc chọn Mức độ nghiêm trọng thấp hơn Lỗi.


1
Cảm ơn! Trong Android Studio 1.2, tôi tìm thấy điều này trong Tệp -> Cài đặt -> Trình chỉnh sửa -> Kiểm tra.
Aaron

Tôi muốn thay đổi độ sáng màn hình theo chương trình. Tôi đã chỉnh sửa Lint theo cài đặt. Nhưng nó ném ra một số ngoại lệ bảo mật trong khi cố gắng thay đổi độ sáng màn hình theo chương trình. Ai có giải pháp nào để triển khai tính năng này trong Android 3.1 Marshmallow ở trên thì chia sẻ nhé.
Nithinjith

3
Trong Android Studio 2.1, đi tới Tệp -> Cài đặt -> Trình chỉnh sửa -> Kiểm tra rồi mở rộng Android> Lint> Độ đúng. Chọn "Sử dụng quyền ứng dụng hệ thống", thay đổi mức độ nghiêm trọng hoặc bỏ chọn hộp kiểm.
Ezekiel Baniaga

2
Nó đã được Android > Lint > Correctnesscho tôi.
Beyondo

74

Để bỏ qua lỗi này chỉ cho một trường hợp, hãy thêm tools:ignore="ProtectedPermissions"thuộc tính vào khai báo quyền của bạn. Đây là một ví dụ:

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

Bạn phải thêm toolskhông gian tên trong phần tử gốc của tệp kê khai

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

3
Đây là nhà cảm xạ phù hợp. Tại sao lại vô hiệu hóa toàn bộ kiểm tra khi nó chỉ cần thiết một phần. Cảm ơn ngài!
Yoraco Gonzales

Bạn sẽ cần phải thêm namespace ... xmlns: công cụ = " schemas.android.com/tools "
purplecabbage

13

Thỉnh thoảng gặp lỗi giống nhau (khi tôi đặt vị trí cài đặt thành "ưu tiên bên ngoài" trong tệp kê khai). Chỉ cần dọn dẹp và xây dựng lại dự án. Làm việc cho tôi.


3

khi bạn thêm quyền trong tệp kê khai thì trong nhật thực chuyển sang dự án và mở

  1. bấm vào dự án
  2. nhấp vào dự án sạch đó là tất cả

k trên dự án sạch



1

Tùy chọn -> Trình chỉnh sửa -> Kiểm tra -> Android Lint -> bỏ chọn mục Sử dụng ứng dụng hệ thống permissio


1

Đường dẫn trong Android Studio trên mac:

Android Studio -> Tùy chọn -> Trình chỉnh sửa -> Kiểm tra

Mở rộng Android -> Mở rộng Lint -> Mở rộng Tính đúng đắn

Bỏ chọn hộp kiểm cho Quyền sử dụng ứng dụng hệ thống

Nhấp vào "ÁP DỤNG" -> "OK"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.