2012-03-16 72 views
6

Tôi đang triển khai bản trình diễn khi gỡ cài đặt ứng dụng khỏi thiết bị âm thầm.Làm cách nào để cấp quyền hệ thống cho ứng dụng Android của tôi?

Trong adb shell, tôi có thể sử dụng pm uninstall packagename để thực hiện tác vụ, nhưng khi tôi viết mã, tôi đã nhận được một số quyền từ chối lỗi.

Tôi đã googling một lúc và nhận thấy rằng để nhận được quyền DELETE_PACKAGES, tôi phải ký ứng dụng của mình với cùng một chứng chỉ như hệ thống.

Vì vậy, bất kỳ ai cũng có thể cho tôi một số mẹo về cách thực hiện việc này không? Hoặc, có anyway tôi có thể làm để làm cho ứng dụng của tôi chạy như dịch vụ hệ thống?

Trả lời

2

Tốt hơn nhiều so với gỡ cài đặt im lặng bằng cách nào đó đang tạo ứng dụng. Có một vài cách mà điều này có thể được thực hiện, nhưng về cơ bản theo dõi ngày đầu tiên họ sử dụng nó, và làm cho chương trình không hoạt động. Ngoài ra, nó có thể được thiết lập để hoạt động cho đến một ngày nhất định, sau đó nó sẽ không hoạt động nữa. This question câu trả lời cách thực hiện việc này.

+1

tốt, "ông chủ" đã nói với tôi để làm nghiên cứu này, vì vậy, trên thực tế, tôi không có lựa chọn nào khác ở đây ... –

1

Nếu ứng dụng của bạn không nằm ở "/ system/app", quyền "DELETE_PACKAGES" sẽ không hoạt động. Biên dịch ứng dụng của bạn bằng mã nguồn hoặc thử "root";)

+0

hi clover, tôi quyết định biên dịch ứng dụng của mình bằng mã nguồn và tôi gặp phải lỗi này: java.security.cert.CertificateParsingException: các trường đã ký không hợp lệ, có gì sai ở đây? –

+0

Tôi đã thêm dòng này vào tệp Android.mk của mình, LOCAL_CERTIFICATE: = nền tảng; và sử dụng các gói mmm/app/test/để xây dựng ứng dụng này. –

+0

Ứng dụng của bạn có sử dụng hành động chứng chỉ không? Bạn biết tôi chưa bao giờ thấy ngoại lệ này trước đây. Hoặc thay đổi nền tảng để chia sẻ và cố gắng "tạo" mã nguồn ~ – Clover

4

Bạn không thể làm điều này, trừ khi bạn đang xây dựng firmware (ROM) của riêng bạn. Nếu bạn đang có, chỉ cần lấy chìa khóa ký tên ROM và ký apk của bạn với nó. Nếu bạn có điện thoại bắt nguồn từ, bạn cũng có thể sao chép apk trong số /system/app để nhận được sự cho phép.

+0

cảm ơn, nhưng tôi không xây dựng chương trình cơ sở của riêng mình. tôi có thể xây dựng ứng dụng của mình bằng nguồn không? –

+1

Bạn có thể, nhưng nếu ROM trên thiết bị không được ký với cùng một khóa, nó sẽ không hoạt động. Nếu bạn đang sử dụng firmware stock (từ nhà cung cấp dịch vụ, vv), cách duy nhất là root điện thoại và sao chép nó '/ system/app'. Hoặc bạn có thể yêu cầu họ (độc đáo!) Để ký tên cho bạn :) –

+0

được rồi, sao chép nó vào/âm thanh/ứng dụng như một lựa chọn tốt, cảm ơn! –

-3

Tôi có kinh nghiệm về cách xin phép một ứng dụng để đọc duyệt Bookmark

  1. Mở AndroidManifest.xml của ứng dụng đó mà bạn muốn thêm phép nó.

2.Somewhere giữa

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

thêm mã này

<uses-permission android:name="..." /> 

3.For lấp đầy ... đi here Ví dụ đoạn mã sau sẽ cho phép để ứng dụng nhận bookmark lịch sử

+0

Câu hỏi này có vẻ giống như việc cấp quyền hạn chế cho hệ thống thay vì cho phép công khai bình thường. – Sam

Các vấn đề liên quan