2013-08-08 22 views

Trả lời

4

Có các thiết bị không có dịch vụ của Google được cài đặt. Trong trường hợp này API Google không khả dụng. Bằng cách không sử dụng Google API SDK, ứng dụng của bạn vẫn có thể chạy trên các thiết bị này.

Ví dụ: xem xét Kindle Fire, nó không có cửa hàng Play được cài đặt, cũng như các máy tính bảng có ngân sách thấp và điện thoại Trung Quốc khác nhau. Các bản dựng tùy chỉnh từ mã nguồn mở như CyanogenMod cũng không được cài đặt các ứng dụng của Google (mặc dù nhiều người dùng thêm chúng theo cách thủ công).

Mặc dù bản thân Android là nguồn mở, các ứng dụng của Google yêu cầu nhà cung cấp nhận giấy phép từ Google. Tôi biết điều này vì các bản dựng tùy chỉnh được yêu cầu bởi Google để không bao gồm các ứng dụng của họ. Cũng có cửa hàng riêng của họ thay vì Cửa hàng Play hấp dẫn đối với một số nhà sản xuất vì họ nhận được phần doanh thu thay vì để Google có tất cả lợi nhuận. Đây là lý do tại sao không phải tất cả các thiết bị đều có chúng.

+0

Có, Kindle Fire có thể là một lý do chính đáng! Nhưng sau đó một lần nữa, tôi chưa bao giờ nhìn thấy một tư vấn ngược lại như "sử dụng google api tất cả các thời gian, nhưng chăm sóc các tình huống XY khi bạn không thể sử dụng nó". Ngay cả nhóm nhà phát triển Google cũng không khuyên sử dụng Google API SDK thường xuyên hơn phiên bản thông thường. – sandalone

+2

Tôi đoán một yếu tố khác có thể là do nó có thể làm tăng thêm một số dấu phẩy cho mã nhị phân của bạn mà bạn có thể tránh được nếu bạn không sử dụng nó. –

+0

Quan sát tốt trên các thiết bị không có ứng dụng của Google. Tôi không biết về giấy phép, nhưng sau đó một lần nữa, nó rất hợp lý :). Ngoài ra tôi chưa bao giờ thấy thiết bị Trung Quốc giá rẻ mà không có ứng dụng Cửa hàng Play. Có lẽ tôi đã không sử dụng các thiết bị cấp dưới cùng cho đến nay. – sandalone

1

Một lý do tiềm năng là: tại sao bạn nên bao gồm thứ gì đó nếu bạn không sử dụng? Khi bạn viết một lớp mới, bạn có import toàn bộ khung làm việc của Android không? Không, bạn sẽ không, bởi vì tồi tệ nhất nó có thể gây ra vấn đề trong mã của bạn, và thậm chí trong trường hợp tốt nhất nó chiếm thêm không gian trong APK kết quả của bạn.

Tôi không chắc chắn dung lượng lưu trữ sẽ tăng thêm bao nhiêu trong bộ nhớ/bộ nhớ bằng cách tạo ứng dụng của bạn bằng API Google API, nhưng tôi không thể tưởng tượng nó là 0 và trong phát triển thiết bị di động không được khôn ngoan với việc sử dụng tài nguyên.

+1

Tôi nghĩ rằng tối ưu hóa nhị phân của bạn với Proguard nên giảm bớt hầu hết các mối quan tâm trong vấn đề này mặc dù. –

+1

Nó có thể làm giảm bớt các vấn đề sử dụng tài nguyên, nhưng nó chỉ làm trầm trọng hơn vấn đề phức tạp. Đó là một điều khác (về mặt lý thuyết) có thể phá vỡ, trên đầu của điều bạn đã thêm mà cũng có thể phá vỡ, và không cung cấp cho bạn bất kỳ lợi ích. – sigmabeta

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