2013-05-18 25 views
13

Tôi đã kiểm tra với người bạn của mình có công cụ SDK Android phiên bản 21, apkbuilder có ở đó. Tôi đã cập nhật công cụ SDK Android lên phiên bản 22 và tôi không thể tìm thấy apkbuilder nữa.Tôi đã cập nhật Android SDK để rev. 22 ngày hôm qua và không có apkbuilder trong các công cụ

Vì vậy, có vẻ như công cụ SDK Andorid đã thay thế apkbuilder bằng một cái gì đó khác? Làm thế nào tôi có thể làm cho ant build.xml mà không có apkbuilder? Có cách nào khác để tạo gói ứng dụng chưa ký cho Android không?

Trả lời

9

Bạn có thể muốn xem this.

Sau khi cập nhật lên Công cụ SDK để rev. 22 lần đầu tiên, bạn có thể cần khởi chạy lại Trình quản lý SDK Android và cài đặt một mục mới: Công cụ tạo SDK Android. enter image description here

Sau khi cài đặt, hãy dọn sạch các dự án và xây dựng lại.

+7

Bạn có kiểm tra? Công cụ xây dựng không bao gồm apkbuilder. – Kromster

+2

Tôi đã làm điều này。 Và build.xml là tồn tại và tôi muốn tìm công cụ thay thế của apkbuilder.How công cụ sdk ver.22 xây dựng apk? Mà không có apkbuilder? –

+0

Cũng thực hiện "android update project -p." trong thư mục dự án của bạn. Điều này sẽ cập nhật build.xml của bạn. –

2

ghi chú Android SDK cho nhà nước rev.22:

Thay đổi cấu trúc của SDK bằng cách thêm một công cụ xây dựng mới SDK Component, mà là dựa trên các thành phần nền tảng công cụ hiện có. Thay đổi này tách riêng các phiên bản công cụ xây dựng từ các phiên bản IDE, cho phép cập nhật các công cụ mà không yêu cầu cập nhật IDE.

Một trong các tùy chọn tạm thời là quay lại các công cụ SDK của bạn quay lại rev.21, nơi có sẵn trình tạo apk. Bạn có thể làm điều đó bằng cách sao lưu thư mục công cụ (ví dụ: đổi tên nó thành tools_22) và tải xuống các công cụ trước đó từ rev.21: dl-ssl.google.com/android/repository/tools_r20-windows.zip, giải nén nó vào SDK của bạn và sẽ hoạt động như trước đây.

+0

THX.Chúng tôi muốn tìm cách chỉnh sửa tệp build.xml của mình để phù hợp với công cụ phiên bản mới. Hoặc tôi có nên thay đổi người xây dựng thành gradle hoặc sth khác không? –

+0

Trong trường hợp đó sẽ không quay trở lại công cụ sdk của tôi verison 21? Trong thực tế, tôi muốn biết làm thế nào xây dựng apk trong các công cụ phiên bản 22? Cách sugest? –

+0

Tôi chỉ biết giải pháp này. Có thể ai đó khác biết cách tốt hơn quanh rev.22 – Kromster

0

Tôi tìm cách nhưng tôi không chắc lắm. Tôi đã thấy một thư mục kiến ​​trong thư mục các công cụ và tìm thấy tệp build.xml chứa cách mới để xây dựng gói ứng dụng. Tôi cũng thấy ant_task.jar trong thư mục tools/lib.Khi tôi giải nén jar i fount một số lớp như ApkBuilderTask.class CheckEnvTask.class và vân vân ... Vì vậy, tôi nghĩ cách này được thay đổi để xây dựng apk với kiến Nhiệm vụ, tôi sẽ cố gắng sử dụng các mẫu để xây dựng các gói ứng dụng, và nếu nó hoạt động tôi sẽ đăng các giải pháp ở đây. cảm ơn!

+0

Bạn có thể tạo lại dự án build.xml của mình để sử dụng phương pháp mới nhưng chạy "android update project -p". trong thư mục dự án của bạn. –

5

Bạn có thể sao chép apkbuilder.bat vào path_to_sdk_home/tools /, sau đó tiếp tục tạo. Tôi tìm thấy một bản sao here và nó hoạt động.

+0

Điều này giải quyết nó cho tôi, cảm ơn! –

1

Thực hiện một chút nghiên cứu xung quanh điều này, có vẻ như APKBuilder.bat, mặc dù không được dùng nữa, vẫn có thể được sử dụng nhưng sẽ không còn được hỗ trợ/nâng cao nữa. [1]

Lớp Java mới. com.android.sdklib.build.APKBuilder bây giờ sẽ được sử dụng [2] vì đây là những gì sẽ được phát triển, trong tương lai.

+0

Xem câu trả lời của liuyong cho một liên kết đến con dơi. –

+0

Nó thực sự xuất hiện như thể tập lệnh đã bị xóa. Bây giờ, sử dụng một phiên bản cũ hoạt động vì giao diện dòng lệnh vẫn tồn tại như là một phần của lớp Java, mặc dù tôi cũng sẽ không ngạc nhiên nếu điều đó xảy ra. – miracle2k

4

Trong phiên bản cũ của AndroidSDK, apkbuilder giống như một trình bao, thực sự nó gọi: $ {sdk.dir}/tools/lib/sdklib.jar

Vì vậy, nếu bạn sâu vào gốc rễ của apkbuilder, bạn có thể Finder có hai cách để gọi nó:

  1. từ ant Có một ant-mở rộng lib dưới: $ {sdk .dir} /tools/lib/ant-tasks.jar vì vậy, bạn có thể gọi nó như thế này:

    <path id="android.antlibs"> 
        <pathelement path="${sdk.dir}/tools/lib/ant-tasks.jar" /> 
    </path> 
    
    <!-- Custom tasks --> 
    <taskdef resource="anttasks.properties" classpathref="android.antlibs" /> 
    
    <apkbuilder 
         outfolder="${out.absolute.dir}" 
         resourcefile="${resource.package.file.name}" 
         apkfilepath="${out.packaged.file}" 
         debugpackaging="${build.is.packaging.debug}" 
         debugsigning="${build.is.signing.debug}" 
         verbose="${verbose}" 
         hascode="${manifest.hasCode}" 
         previousBuildType="${build.last.is.packaging.debug}/${build.last.is.signing.debug}" 
         buildType="${build.is.packaging.debug}/${build.is.signing.debug}"> 
        <dex path="${intermediate.dex.file}"/> 
        <sourcefolder path="${source.absolute.dir}"/> 
        <jarfile refid="project.all.jars.path" /> 
        <nativefolder path="${native.libs.absolute.dir}" /> 
        <nativefolder refid="project.library.native.folder.path" /> 
        <extra-jars/> 
    </apkbuilder> 
    
  2. cho kịch bản hay phát triển khác bạn có thể sử dụng $ {} sdk.dir/tools/lib /sdklib.jar, apkbuilder wa s trong Hãy xem apkbuild.bat trong phiên bản trước đó, vào cuối của tập tin:.

    set jarfile=sdklib.jar 
    set frameworkdir= 
    
    if exist %frameworkdir%%jarfile% goto JarFileOk 
        set frameworkdir=lib\ 
    
    if exist %frameworkdir%%jarfile% goto JarFileOk 
        set frameworkdir=..\framework\ 
    
    :JarFileOk 
    
    set jarpath=%frameworkdir%%jarfile% 
    
    call %java_exe% -classpath %jarpath% com.android.sdklib.build.ApkBuilderMain %* 
    
+0

Đây là câu trả lời duy nhất giải thích cách gọi ApkBuilder ngay bây giờ. –

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