gpt4 book ai didi

android - 包括与 Ant 一起使用的 Google AdMob SDK

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:50 26 4
gpt4 key购买 nike

我正在按照 this Google site 上的说明使用(新的?)AdMob SDK .我们应该整合 GoogleAdMobAdsSdk-4.0.4.jar文件到我们的项目中。问题是:我们如何使用 Ant 做到这一点?我在 Eclipse 中工作正常(它自动进入 .classpath 文件),但是对于 Ant,它在 ant release 时抛出很多“找不到”问题。 ing.

我在哪里以及如何包含对该 jar 的引用?我想我应该在 build.xml 中完成,但我不确定如何。

我将源文件夹复制到别处,这样它就不会弄乱我的 eclipse 项目文件夹。

//编辑:

让我更具体一点:如果我将 jar 放入 libs 中,它会自动运行文件夹,但我想知道如果 jar 位于其他位置,我是否可以使用该 jar。 无论如何,我的问题已经解决了...我可以将其编译到库中。我会把这当作一个好奇心问题。不着急。

这是下面的 .classpath 文件。让我说它只在 Eclipse 中有所不同,但 Ant 似乎没有使用它:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="src" path="/android_licensing"/>
<classpathentry kind="lib" path="C:/Users/David/Documents/program/eclipse/GoogleAdMobAdsSdk-4.0.4.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

Ant 错误:

compile:
[javac] C:\android-sdk-windows\tools\ant\main_rules.xml:384: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 35 source files to C:\Users\David\Documents\program\eclipse\MyApp\9-branch\aaa\bin\classes
[javac] C:\Users\David\Documents\program\eclipse\MyApp\9-branch\v9\src\net\myapp\ui\MainActivity.java:116: package com.google.ads does not exist
[javac] import com.google.ads.*;
[javac] ^
[javac] C:\Users\David\Documents\program\eclipse\MyApp\9-branch\v9\src\net\myapp\ui\MainActivity.java:143: cannot find symbol
[javac] symbol : class AdView
[javac] location: class net.myapp.ui.MainActivity
[javac] AdView adView;
[javac] ^

我已经尝试查看 main_rules,我可以看到它在哪里将 libs 文件夹声明为 jar 的位置,但我仍然想知道是否有一种简单的方法,每个项目的代码行来自定义它。

谢谢。

最佳答案

不幸的是,由于在 main_rules.xml 中处理 jar 的方式,这并不容易做到:

<!-- Directory for the third party java libraries -->
<property name="jar.libs.dir" value="libs" />
<property name="jar.libs.absolute.dir" location="${jar.libs.dir}" />
<!-- create a path with all the jar files, from the main project and the
libraries -->
<path id="jar.libs.ref">
<fileset dir="${jar.libs.absolute.dir}" includes="*.jar" />
<path refid="project.libraries.jars" />
</path>

它在一个目录中查找,并从那里的所有文件构建一个路径。鉴于 admob jar 具有嵌入式版本号,我建议您坚持在项目 libs 目录中保留一份副本。

如果您使用 SVN,您可以使用外部定义将 jar 拉入子目录,并使用 -pre-compile 的复制任务将最新的移动到 libs 中;这完全取决于您与多少人(或机器)共享代码

我想不出比复制 jar 更优雅的方式来减少维护。

关于android - 包括与 Ant 一起使用的 Google AdMob SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com