2015-05-12 16 views
20

Tôi đang cố gắng xây dựng ứng dụng cordova cho android, sử dụng ionicframework. Tôi đã thiết lập mức mục tiêu API của tôi đến 16 (Tôi có rằng cài đặt từ quản lý Android SDK) nhưng nó bằng cách nào đó luôn nhặt mức 21.cordova build --release android luôn chọn mức api cao nhất

trong dự án/config.xml:

<preference name="android-targetSdkVersion" value="16"/> 

trong các nền tảng/android /AndroidManifest.xml, nó cho thấy sự giống nhau:

<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16" /> 

nhưng chạy cordova build --release android tôi nhận được:

-build-setup: 
[getbuildtools] Using latest Build Tools: 22.0.0 
    [echo] Resolving Build Target for OpsVedaMobile... 
[gettarget] Project Target: Android 5.0.1 
[gettarget] API level:  21 

Tôi nghi ngờ tôi thiếu một số cài đặt khác, sẽ đánh giá cao trợ giúp. Tôi sử dụng như thế nào để từ this ionic doc

ion: 1.0.0.rc-5, ion CLI: 1.3.22, cordova: 5.0.0, nút: 0.10.36 - trên Windows7

--edit

dường như mức mục tiêu không quan trọng chút nào. Bây giờ tôi tự hỏi làm thế nào/nó trở nên quan trọng ở đâu.

Trả lời

3

Vì vậy, bit này của xml hiện hai điều, đặt phiên bản api tối thiểu đối với các ứng dụng Android, và đặt ra mục tiêu, rõ ràng là vì tên của họ.

Vì vậy, api 10 là android 2.3, mà chúng tôi đã bỏ hỗ trợ. Vì vậy, chúng tôi có thể tăng mức đó lên 14 hoặc Android 4.0

Api 19 là 4.4, tất cả đều tốt.

Vì vậy, những con số này là một phần của cấu trúc dự án mặc định mà cordova tạo ra. Bạn có thể tạo một móc mà sau khi dự án được thêm vào, nó thay đổi mức api mặc định thành 14 và 19 thay vì làm theo cách thủ công.

Nhưng để thay đổi, hãy chuyển đến nền tảng/android/android.xml, nếu bạn chỉnh sửa điều này, bạn sẽ tốt. (hoặc) Trước khi thay đổi:

] dự án cập nhật android --subprojects --path "nền tảng/android" --target android-19 --library "CordovaLib"

tôi đã thay đổi này để:

] dự án cập nhật android --subprojects --path "nền tảng/android" --target android-14 --library "CordovaLib"

Và sau đó sửa đổi các tập tin AndroidManifest.xml như bạn đề nghị, n ow tất cả các trạng thái gỡ lỗi cấp 14 và nó được biên dịch. Tôi vừa gửi một bản sao cho bạn của tôi lần nữa .. chúng tôi sẽ xem nó có hoạt động không!

+0

Trong hệ thống của tôi, tôi không có nền tảng/android/android.xml. Nhưng tôi sẽ thử các móc bạn đã đề cập – Dinesh

+0

Bạn có sử dụng mac hoặc cửa sổ không? – cfprabhu

+0

Tôi sử dụng windows7. – Dinesh

17

trong khung ion mới nhất, bạn có thể thay đổi mục tiêu bằng cách thay đổi

ion1/platforms/android/AndroidManifest.xml

và thay đổi 22 thành hai tập tin này với 16

ion1/nền tảng/android/project.properties

ion1/nền tảng/android/CordovaLib/project.properties

ion1 = dự án thư mục

+1

Vâng, điều này có thể làm việc cho một ví dụ, nhưng nó sẽ là ngọt ngào nếu bạn có thể cấu hình phiên bản bạn muốn nhắm mục tiêu mỗi khi bạn loại bỏ/thêm nền tảng cho một dự án. – zenw0lf

+0

Mặc dù điều này không hoạt động với 23 và phương thức quyền mới của nó. –

6
npm install -g cordova 

cơ sở của tôi ở trên lệnh luôn luôn cài đặt mới nhất cordova-android-phiên bản và do đó android-mục tiêu là lates t. Vì vậy, chúng tôi có thể giải quyết vấn đề trên bằng cách cài đặt phiên bản cordova thích hợp.

bạn có thể cài đặt phiên bản thích hợp của cordova sử dụng lệnh này npm install -g [email protected] nơi 5.0.0 là phiên bản cordova-android-version.all của cordova có thể được xem bằng lệnh sau đây.

npm view cordova versions 

4.1.x (cordova-android Version) hỗ trợ 14-22 (cấp API) và

5.xx (cordova-android Version) hỗ trợ 14-23 (cấp API)

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