具有 ant 许可库依赖项的 android [英] android with ant licensing library dependencies

查看:28
本文介绍了具有 ant 许可库依赖项的 android的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在 Android 构建过程中使用 ANT,因为最后我需要创建两个版本的应用程序(FULL 和 LITE).当我使用命令行工具创建新项目时,它会为我生成所有必要的构建文件(build.xml、local.properties、build.properties 和 default.properties,哦还有 proguard.cfg).我的完整版应用程序需要一个市场许可库(它位于我的 ${sdk.dir}/extras/google/market_licensing/library.所以在 Eclipse 中我定义了这个库的位置,如果我从 Eclipse 运行我的应用程序它就可以工作.现在,如果我在我的应用程序上运行 ant 脚本

I need to use ANT with Android building process because at the end I need to create two versions of application (FULL & LITE). When I created new project with command-line tools it generates for me all necessary build files (build.xml, local.properties, build.properties and default.properties, oh and also proguard.cfg). My full version of app need a market licensing library (which is located on my ${sdk.dir}/extras/google/market_licensing/library. So in Eclipse I define where this library is and it works if I run my app from Eclipse. Now if I run ant script on my app

${my.project-home}$ ant
Buildfile: ${my.project-home}/build.xml
    [setup] Android SDK Tools Revision 10
    [setup] Project Target: Android 2.1-update1
    [setup] API level: 7
    [setup] 
    [setup] ------------------
    [setup] Resolving library dependencies:

BUILD FAILED
${my.project-home}/build.xml:77: ../../../android-sdk-mac_86/extras/google/market_licensing/library resolve to a path with no default.properties file for project ${my.project-home}

我的 default.properties 看起来像

My default.properties look like

target=android-7
android.library=false
android.library.reference.1=../../../android-sdk-mac_86/extras/google/market_licensing/library

还有我的 build.xml:

And my build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="MyMeasures">

<!-- The local.properties file is created and updated by the 'android'
     tool.
     It contains the path to the SDK. It should *NOT* be checked into
     Version Control Systems. -->
    <property file="local.properties" />

    <!-- The build.properties file can be created by you and is never touched
         by the 'android' tool. This is the place to change some of the
         default property values used by the Ant rules.
         Here are some properties you may want to change/update:

         source.dir
             The name of the source directory. Default is 'src'.
         out.dir
             The name of the output directory. Default is 'bin'.

         Properties related to the SDK location or the project target should
         be updated using the 'android' tool with the 'update' action.

         This file is an integral part of the build system for your
         application and should be checked into Version Control Systems.

         -->
    <property file="build.properties" />

    <!-- The default.properties file is created and updated by the 'android'
         tool, as well as ADT.
         This file is an integral part of the build system for your
         application and should be checked into Version Control Systems. -->
    <property file="default.properties" />


    <!-- Required pre-setup import -->
    <import file="${sdk.dir}/tools/ant/pre_setup.xml" />


<!-- extension targets. Uncomment the ones where you want to do custom work
     in between standard targets -->

    <target name="-pre-build">
    </target>
    <target name="-pre-compile">
    </target>

<!--    [This is typically used for code obfuscation.
     Compiled code location: ${out.classes.absolute.dir}
     If this is not done in place, override ${out.dex.input.absolute.dir}]
    <target name="-post-compile">
    </target>
-->

    <!-- Execute the Android Setup task that will setup some properties
         specific to the target, and import the build rules files.

         The rules file is imported from
            <SDK>/tools/ant/
         Depending on the project type it can be either:
         - main_rules.xml
         - lib_rules.xml
         - test_rules.xml

         To customize existing targets, there are two options:
         - Customize only one target:
             - copy/paste the target into this file, *before* the
               <setup> task.
             - customize it to your needs.
         - Customize the whole script.
             - copy/paste the content of the rules files (minus the top node)
               into this file, *after* the <setup> task
             - disable the import of the rules by changing the setup task
               below to <setup import="false" />.
             - customize to your needs.
    -->
    <setup />

</project>

我现在在 build.xml 中唯一做的就是取消注释 -pre-build-pre-compile 但它们什么也没做...我也试图回复他们,结果是一样的.

The only thing I do in build.xml for now is that I uncommented -pre-build and -pre-compile but they do nothing... I also tried to comment them back and it is the same result.

有没有人用过 ant 的市场许可库?

Have anyone used market licensing library with ant?

推荐答案

有点老的话题,但也许对某人有帮助.我遇到了同样的问题,终于找到了问题的根源

little bit older topic but maybe it helps to someone. I had same problem and finally discovered source of troubles

系统: win7,最后一个 Eclipse 和旧的 android 工具

system: win7, last Eclipse and old android tools

android update project --path .

将库添加到 default.properties 中,例如

added library(ies) to default.properties like

android.library.reference.1=..\dir\MyLibrary

但这不起作用......最后我找到了解决方案.这有效

but this don't work ... finally I found solution. This works!

android.library.reference.1=..\\dir\\MyLibrary

希望这对某人有所帮助...

hope this helps somebody ...

这篇关于具有 ant 许可库依赖项的 android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆