Подтвердить что ты не робот

Я обновил Android SDK до версии. 22 вчера, и нет никаких apkbuilder в инструментах

Я проверил с моим другом, у которого есть Android SDK tools версии 21, есть apkbuilder. Я обновил инструменты Android SDK до версии 22, и больше не могу найти apkbuilder.

Итак, похоже, что инструмент Andorid SDK заменил apkbuilder на что-то еще? Как я могу сделать ant build.xml без apkbuilder? Есть ли еще какой-нибудь способ создания без знака apk для Android?

4b9b3361

Ответ 1

Вы можете посмотреть .

После обновления до SDK Tools до версии. 22 в первый раз, вы можете необходимо снова запустить Android SDK Manager и установить новый элемент: Конструкторы Android SDK. enter image description here

После установки, очистите свои проекты и перестройте.

Ответ 2

Вы можете скопировать apkbuilder.bat в свой путь_to_sdk_home/tools/, а затем продолжить сборку. Я нашел копию здесь, и она сработала.

Ответ 3

В старой версии AndroidSDK apkbuilder похож на оболочку, на самом деле она вызывает: $ {Sdk.dir}/tools/lib/sdklib.jar

Итак, если вы глубоко в корне apkbuilder, вы можете найти два способа вызвать его:

  • из ant Существует ant -extend lib под: $ {Sdk.dir}/инструменты/Library/ant -tasks.jar Итак, вы можете вызвать его так:

    <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>
    
  • для script или другой разработки Вы можете использовать ${sdk.dir}/tools/lib/sdklib.jar, включенный apkbuilder. Взгляните на apkbuild.bat в предыдущей версии, в конце файла:

    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 %*
    

Ответ 4

Примечания Android SDK для состояния rev.22:

Изменена структура SDK, добавив новый инструмент построения SDK Компонент, основанный на существующем компоненте платформы-инструментов. Это изменение отделяет версии инструментов сборки от версий IDE, позволяя обновлять инструменты без необходимости обновления IDE.

Один из временных вариантов - откат ваших SDK-инструментов обратно до rev.21, где существовал apkbuilder. Вы можете сделать это, создав резервную копию папки с инструментами (например, переименуйте ее в tools_22) и загрузите предыдущие инструменты из rev.21: dl-ssl.google.com/android/repository/tools_r20-windows.zip, распакуйте его в свой SDK, и он будет работать как раньше.

Ответ 5

Проведя немного исследований вокруг этого, кажется, APKBuilder.bat, хотя и не рекомендуется, все еще можно использовать, но больше не будет поддерживаться/улучшаться. [1]

Новый класс com.android.sdklib.build.APKBuilder Java теперь должен использоваться [2], поскольку это то, что будет развивается, продвигаясь вперед.

Ответ 6

Я нахожу способ, но я не очень уверен в этом. Я увидел каталог ant в каталоге инструментов и нашел build.xml, содержащий новый способ сборки apk. Я также видел ant_task.jar в каталоге tools/lib.Когда я разархивирую jar, я собираю некоторые классы, такие как Apk ApkBuilderTask.class CheckEnvTask.class и т.д. Итак, я думаю, что путь был изменен для сборки apk с помощью ant Задача, я попытаюсь использовать шаблон для сборки apk, и если он будет работать, я опубликую решение здесь. спасибо!