gpt4 book ai didi

android - 是什么导致此错误 : "SDK component at air/android/device/Runtime.apk is out of date"

转载 作者:行者123 更新时间:2023-11-29 01:51:56 25 4
gpt4 key购买 nike

我目前正在为 iOS 和 Android 开发一个 Adob​​e AIR 项目。
我们使用运行 ANT 构建脚本的 Jenkins 自动构建这个东西。它根据不同的编译(发布和测试版本)打包不同版本的应用程序,测试版本在其中打包更多不同的配置。

到目前为止,还不错。该构建在我运行 ANT 1.8.4 和 AIR 3.6 SDK 的本地机器上运行。

问题是,有时,或者最近大部分时间,在 Jenkins 机器上( a Mac Mini)构建失败并显示错误消息,如下所示:

package-android-versions:
[delete] Deleting directory /private/var/jenkins/workspace/**********/dist/android/release
[mkdir] Created dir: /private/var/jenkins/workspace/*************/dist/android/release
[echo] packaging for android...
[echo] done
[delete] Deleting directory /private/var/jenkins/workspace/************/dist/android/test/dummy
[mkdir] Created dir: /private/var/jenkins/workspace/**************/dist/android/test/dummy
[echo] packaging for android...
[java] SDK component at air/android/device/Runtime.apk is out of date

您可能已经注意到,第一个打包命令成功了,所以我的 SDK 组件不可能真的过时了。那么第一个打包命令也会失败。

下面是相关的 ANT 构建命令:

        <echo>packaging for android...</echo>
<java jar="${AIR_SDK_HOME}/lib/adt.jar" fork="true" failonerror="true">
<jvmarg line="-Xmx1024m" />
<jvmarg line="-XX:MaxPermSize=2048m" />
<arg line="-package"/>
<arg line="-target apk-captive-runtime"/>
<arg line="-storetype pkcs12 -keystore '${dir.portal}/self-signed.p12' -storepass ******"/>
<arg line="'@{destination}/${app.name}@{label}' '@{source}/${app.descriptor}'" />
<arg line="-C '@{source}' ."/>
<arg line="-C '${dir.assets.runtime.android}' ."/>
</java>
<echo>done</echo>

我试过增加 java 命令可用的内存量(因为根据我的经验,这通常是失败的原因),但这不是这里的解决方案。

另外,我查看了 this similar question 的答案但是我们的构建机器不会在编译和打包之间喝咖啡,所以这不是真正的答案;)

还有其他想法吗?

最佳答案

我做了一些调查:adt.jar 正在启动一个单独的进程,以使用 lib/android/bin/aapt 从 Runtime.apk 获取 Android 版本信息。看起来这个单独进程的调用和/或其输出的读取可能是这里的罪魁祸首。

如果没有实际获取可编译版本中 adt.jar 的源代码并添加额外的调试信息,我无法确定这就是问题所在,但它看起来很像。错误触发器可以是机器上影响线程或文件读取的任何事物,这基本上是任何系统 Activity 。

AIR SDK 3.8 中的 adt.jar 对启动外部进程的区域进行了细微更改,以确保完整读取 aapt 命令的输出。

升级到3.8应该可以解决问题,不修改adt.jar 3.6版本无法解决。

PS:哈弗兰克! :-)

关于android - 是什么导致此错误 : "SDK component at air/android/device/Runtime.apk is out of date",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17492157/

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