2013-09-04 31 views
7

Tôi có một ứng dụng Phonegap mà tôi hiện đang phát triển và thử nghiệm cho Android. Vấn đề là, khi tôi xuất bản lên thiết bị, Tệp kê khai Android có đầy đủ các yêu cầu cấp phép mà tôi không yêu cầu.Phonegap cho phép Android, config.xml và plugins

Tôi đã tìm ra rằng các Plugg Phonegap (xem this docs page trong "Thêm tính năng") có liên quan gì đó với nó. Nếu bạn cài đặt một plugin như Camera, PhoneGap sẽ tự động thêm quyền liên quan vào AndroidManifest. Vì vậy, tôi đã gỡ bỏ cài đặt tất cả các Plugins Phonegap mà tôi không cần, và những quyền đó đã biến mất.

Cho đến nay rất tốt.

Vấn đề là, Android Manifest của tôi (và một tập tin gọi là "android.json" trong thư mục/Plugins của dự án) vẫn còn chứa một số tính năng không mong muốn:

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

Do ứng dụng của tôi là về ngân sách, một "Ghi lại video" cho phép sẽ đề nghị cho bất kỳ người dùng lành mạnh rằng đây là một ứng dụng lén lút ác cố gắng để tiêu diệt sự riêng tư của họ.

Làm cách nào để loại bỏ các yêu cầu tính năng này? Tôi đã thử ...

  1. Thêm <preference name="permissions" value="none" /> vào config.xml.
  2. Gỡ cài đặt tất cả các Plugin Phonegap có liên quan. Tôi thậm chí đã gỡ cài đặt một plugin AudioHandler mà dường như đã được cài đặt sẵn khi tôi tạo dự án.

Tất nhiên tôi có thể xóa nội dung theo cách thủ công khỏi AndroidManifest.xml trước khi xuất bản phiên bản cuối cùng của mình. Nhưng tôi muốn một giải pháp cấu trúc hơn, vì tôi sử dụng "cordova run android" để thử nghiệm trên thiết bị và điều này sẽ ghi đè tất cả các thay đổi đối với AndroidManifest.xml và android.json.

+0

Vẫn còn, quyền RECORD_VIDEO không hiển thị trong cài đặt của ứng dụng trên thiết bị, nhưng ACCESS_COARSE_LOCATION và ACCESS_FINE_LOCATION sẽ hiển thị đó. – Wytze

+0

bạn xóa chúng khỏi tệp kê khai, đó là cách thích hợp để thực hiện.eclipse có giao diện tốt cho nó, hoặc intelli – kangoroo

+0

có thể dọn dẹp dự án của bạn sau khi gỡ cài đặt plugin quá – kangoroo

Trả lời

0

Bạn có chắc chắn đã xóa tất cả các plugin không? (use phonegap plugin list) để xem plugin nào có.

I Am không chắc liệu có bất kỳ sự khác biệt, nhưng tôi sử dụng

phonegap run android 

thay cho

cordova run android 

theo các tài liệu lệnh chạy làm cả hai sạch và xây dựng ... do đó, làm sạch nên được thực hiện .. (thực sự tôi sử dụng lệnh -V để có được một số thông tin gỡ lỗi thêm)

Tôi cũng gặp nhiều khó khăn bằng cách này, xem: Upgrade to phonegap 3.3.0

Và bắt đầu với một thư mục nền tảng rỗng là một trong những cố gắng của tôi .... hơn bạn nên chắc chắn nó hoàn toàn xây dựng lại file manifest của bạn ....

Sửa 29-1-2014

Nhân tiện, giải thích rõ nhất về vấn đề CLI và phonegap 3.x này có thể tìm thấy ở đây: http://devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/

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