- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
有谁知道是否可以从 AndroidManifest.xml 中获取变量供 ant 使用?
具体来说,我试图以某种方式获取 versionCode
、versionName
和 packageName
。
提前致谢。
看来这太麻烦了,而且这个问题用Maven很容易解决,所以我暂时放弃了快速解决的可能性。
最佳答案
也许有一个 android 专用解决方案,我不知道,但除此之外,您可以将 android list 文件视为任何其他 xml 文件 -> 所以您只需要一个 ant 任务来解析 xml 文件并从中检索值.
因为在 Java 中编写自定义 ant 任务不是火箭科学 - 已经有一些您可以尝试使用的东西。
所以在你的情况下它会是这样的(使用 http://www.oopsconsultancy.com/software/xmltask/ ):
<target name="retrieveFromManifest" desciption="retrieveFromManifest">
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
<xmltask source="${pathToAndroidManifestFile}">
<copy path="/manifest/@android:versionCode" property="androidVersionCode"/>
<copy path="/manifest/@android:versionName" property="androidVersionName"/>
<copy path="/manifest/@package" property="androidPackage"/>
</xmltask>
<echo message="Version code: ${androidVersionCode}" />
<echo message="Version name: ${androidVersionName}" />
<echo message="package: ${androidPackage}" />
</target>
编辑:
如果您考虑在您的 android 项目的 build.xml 中解析它,那么您将拥有“开箱即用”的 xpath 任务。任何为 android 项目自动生成的构建文件都会导入全局 sdk 的构建文件 <import file="${sdk.dir}/tools/ant/build.xml" />
,其中你有:
<taskdef name="xpath"
classname="com.android.ant.XPathTask"
classpathref="android.antlibs" />
以及稍后的示例用法:
<xpath input="AndroidManifest.xml"
expression="/manifest/application/@android:hasCode"
output="manifest.hasCode" default="true"/>
关于java - ant中使用AndroidManifest.xml版本代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10181394/
我的android studio版本是3.4.0。 Gradle版本为3.4.0。我尝试清理项目,重新安装Android Studio,修改了Project Setting Build选项。到目前为止
我的应用程序仅由一个 application 模块组成。我最近试图将它分成 2 个模块(一个 feature 基础和一个 application apk 一个)以便稍后添加一个 instant-app
我正在尝试 http://developer.android.com/ 上的教程并在 AndroidManifest.xml 文件上遇到错误。发生的事情是,我在创建 Activity 时犯了一个错误(
我正在尝试将我的 ionic 3 应用程序 list 中的 allowBackup 属性设置为 false,但 gradle 提示出现以下错误: 来自 AndroidManifest.xml:4:18
我在我的 android 应用程序的 AndroidMenifest.xml 文件中遇到了以下两行: 为什么我们在 中写“编码”标签,它的用途是什么? 写第二行的目的是什么? 如果有人知道这一点
是否有任何独立的(独立于 Eclipse 或 IDE 特定的)工具可以检查 AndroidManifest.xml 文件是否有错误? 我最近遇到了一个恼人的问题,我输入了 reciever 而它本应该
我的一个项目的 AndroidManifest.xml 变得越来越大(> 1000 行),因为我必须对某些文件类型使用react并且涵盖所有情况变得越来越复杂。我想知道 list 大小是否有任何限制。
我的 AndroidManifest.xml 文件没有创建应有的启动器图标。 XML 如下:
AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.x
我正在尝试使用eclipse中的gradle构建一个android应用程序,并且我试图在项目根目录中使用命令gradle build 构建apk, 我在 $projdir/build/intermed
简单的问题,但经过长时间的谷歌搜索,我还没有看到一个好的答案。 我有 2 种内置类型:调试、发布 我有 2 种口味:口味 1、口味 2 这将创建 4 个变体。 调试 + flavor 1 释放+ fl
我有这个错误 I/Ads (21352): Starting ad request. I/Ads (21352): SDK version: afma-sdk-a-v15090040.
每当我尝试运行该应用程序时,都会显示一个错误,并且来自 list 。下面是 list 和 logcat。请帮忙。 Manifest.xml
我可以在 AndroidManifest.xml 中设置一个设置,让我的应用程序写入文件系统而不仅仅是 SD 卡吗? *干杯 最佳答案 您应该使用定义的数据存储选项之一 here用于存储您的数据。要访
我按照一些教程使用 phonegap 的条形码扫描器插件。但是当我从现有源创建一个新的 android 项目来创建条码库时 (step 6 in this page)我收到错误:“AndroidMan
我的内存非常模糊,但是 Android SDK 中包含一个工具,当您针对未签名或调试签名的应用程序 APK(我不记得是哪个)运行它时,它会输出一个“已处理”的 AndroidManifest 文件。
是否可以在文件中指定一些信息,例如 API key ,然后以某种方式将此信息注入(inject) AndroidManifest 文件(可能在构建过程中)? 对于我的特定用例,documentatio
谁能解释一下是什么: tools:replace = "icon, label" 这之间有什么区别: tools:replace="android:icon,android:allowBackup,a
我正在尝试在嵌套 fragment 中显示 GoogleMaps: // inflate and return the layout View v = inflater.inflate
我正在发布针对中国市场的版本,我们都知道他们不支持 Playstore。从今以后,我们决定在中国商店发布。 其中一家中国商店要求在 list 文件中包含包名必须包含应用程序名称。但是现在我们的主 li
我是一名优秀的程序员,十分优秀!