我已将Android SDK更新为rev.昨天22,工具中没有apkbuilder

tom*_*ung 13 android build apk

我已经和我的朋友一起检查了Android SDK工具版本21,就在apkbuilder那里.我已将Android SDK工具更新到版本22,我找不到apkbuilder了.

那么Andorid SDK工具似乎已经apkbuilder用其他东西取而代之了?如何在没有apkbuilder的情况下制作ant build.xml?有没有其他方法来构建Android的unsigned apk?

Kra*_*uxe 9

你可能想看看这个.

更新到SDK工具后转为rev.22第一次,您可能需要重新启动Android SDK Manager并安装新项目: Android SDK Build-tools.在此输入图像描述

安装完成后,清理项目并重建.

  • 你看过了吗?构建工具不包括apkbuilder. (8认同)
  • 我已经这样做了.而build.xml是存在的,我想找到apkbuilder的替代工具.如何使用sdk工具ver.22构建apk?没有apkbuilder? (2认同)

yun*_*han 6

在旧版本的AndroidSDK中,apkbuilder就像一个shell,实际上是调用:${sdk.dir}/tools/lib/sdklib.jar

所以,如果你深入了解 apkbuilder 的根,你可以发现有两种方法可以调用它:

  1. 从 ant 下有一个 ant-extend lib: ${sdk.dir}/tools/lib/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>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 用于脚本或其他开发您可以使用${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 %*
    
    Run Code Online (Sandbox Code Playgroud)


liu*_*ong 5

您可以将apkbuilder.bat复制到您的path_to_sdk_home/tools /,然后继续构建.我在这里找到了一份副本,并且有效.