2012-11-23 45 views

Trả lời

4

Điều đó có nghĩa là mặc dù targetSdk, phiên bản "biên dịch với SDK" sẽ được sử dụng. Điều này hữu ích để nhắm mục tiêu SDK cao hơn và tránh sử dụng ngẫu nhiên API mới hơn. Hay nói cách khác, bạn muốn nhắm mục tiêu API17 nhưng vẫn tương thích với API8 mà không cần nỗ lực nhiều. Vì vậy, bạn đặt mục tiêu cho API17 nhưng biên dịch với API8. Bây giờ, nếu bạn viết mã vì bất kỳ lý do nào, hãy sử dụng bất kỳ thứ gì đã được giới thiệu trong API9 hoặc lên nó sẽ không biên dịch. Trước đó ứng dụng được xây dựng với phiên bản API thiết lập như là mục tiêu sdk

EDIT

Sau khi xem xét kỹ hơn tôi nghĩ rằng đây là tan vỡ. Về cơ bản, nó không được lưu trong project.properties và các nơi khác, do đó nó không thực sự phục vụ mục đích được mô tả, bên ngoài "New Project Wizard", sẽ tạo ra các đoạn mã/bố cục để khớp với phiên bản "biên dịch với" API.

Tô nền báo cáo lỗi: http://code.google.com/p/android/issues/detail?id=40286

+0

để tôi có thể sử dụng v21 hay không? – DroidLearner

+0

Bạn có thể sử dụng ADT v21. Nhưng hãy lưu ý rằng bạn cần chú ý và không sử dụng API cao hơn nếu đặt minSdk và targetSdk thành các giá trị khác nhau như công cụ (hiện tại) sẽ không làm điều đó, mặc dù cài đặt gây hiểu lầm trong thuật sĩ. –

0

Compile Với là phiên bản nền tảng dựa vào đó bạn sẽ biên dịch ứng dụng của bạn. Theo mặc định, cài đặt này được đặt thành phiên bản Android mới nhất có sẵn trong SDK của bạn. (Phải là Android 4.1 trở lên; nếu bạn không có sẵn phiên bản như vậy, bạn phải cài đặt phiên bản bằng Trình quản lý SDK). Bạn vẫn có thể tạo ứng dụng để hỗ trợ các phiên bản cũ hơn, nhưng việc đặt mục tiêu xây dựng lên phiên bản mới nhất cho phép bạn bật các tính năng mới và tối ưu hóa ứng dụng của mình để có trải nghiệm người dùng tuyệt vời trên các thiết bị mới nhất. source

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