我需要在运行时从代码中确定应用程序是否在TestInstrumentation下运行.
我可以用一些env/system变量初始化测试环境,但Eclipse ADK启动配置不允许我这样做.
默认的Android系统属性和环境不包含任何有关它的数据.此外,它们完全相同,无论应用程序是定期启动还是正在测试中.
这可能是一个解决方案:是否有可能找出Android应用程序是否作为检测测试的一部分运行,但由于我不测试活动,所有提出的方法都不起作用.所述ActivityManager.isRunningInTestHarness()方法使用该罩下:
SystemProperties.getBoolean("ro.test_harness")
Run Code Online (Sandbox Code Playgroud)
在我的情况下总是返回false.(要使用隐藏的android.os.SystemProperties类,我使用反射).
如果它正在测试中,我还能做些什么来尝试从应用程序内部确定?
我们正在寻找一个将Eclipse/Equinox发行版本(3.0-3.8)与相应的OSGi服务平台规范发布版本相匹配的表.Eclipse/Equinox wiki在结构化表单中没有任何关于此的信息.有人有这方面的知识吗?谢谢
我最近从亚马逊移动应用程序分发门户网站拒绝了我的应用程序,其中包含菜单 - >"评估应用程序"选项重定向到Google Play商店.
为了被接受,它应该重定向到Amazon Appstore,下载URL必须是http://www.amazon.com/gp/mas/dl/android?p=packagename,这当然是有意义的.
所以我需要这样的东西:
String url = isKindle
? "http://www.amazon.com/gp/mas/dl/android?p=packagename"
: "https://play.google.com/store/apps/details?id=packagename";
Run Code Online (Sandbox Code Playgroud)
问题是:我如何区分应用程序是在Kindle Fire上还是在"本机"Android系统上运行?
是否有任何API可以为我提供Android中给定视频文件关键帧的时间戳列表?
我有一个相当复杂的 OSGi 应用程序,它使用声明式服务,并且设计为部署在 Equinox 中。现在的任务是使该应用程序可以部署在 WAS 8 中。
第一次尝试非常务实:我部署了一个 EAR,它的启动基本上与 Equinox 相同,经过一些 WAS 类加载策略调整后,它已经起作用了。
现在我想更进一步:摆脱 Equinox 运行时并在 WAS 8 中“本地”部署我的捆绑包。因此,我编写了一个 EBA,其中包含我的业务捆绑包、它们的依赖项和 Equinox DS 运行时。EBA 作为资产部署并集成到 BLA 中。应用程序甚至已启动并运行,但组件尚未初始化。
要点是,必须在自己的业务包之前启动 equinox.ds(更新:不是必须的,下面讨论)才能使 DS 完成其工作。但是我如何告诉捆绑包在已部署的 EBA 中首先启动哪个捆绑包呢?我需要 Equinox 的 config.ini 文件的一些模拟。
我知道我可以使用本机支持的蓝图重新连接我的组件,但坦率地说,这是我最不想做的事情。应该可以让 Equinox DS 工作,不是吗?
另一个问题是:如何为自己部署在 WAS 8 下的应用程序获取 OSGi 控制台?我想控制我的捆绑包,但似乎无法从管理控制台做到这一点。
更新
感谢 BJ 和 Neil(下面的讨论),问题归结为“如何在 WAS 8.0 中部署的我自己的 OSGi 应用程序中启动特定的包?”
我知道规范确切地定义了它,但无法得到这个的原因:
A class space is then all classes reachable from a given bundle’s class loader.
Thus, a class space for a given bundle can contain classes from:
• The parent class loader (normally java.* packages from the boot class path)
• Imported packages
• Required bundles
• The bundle's class path (private packages)
• Attached fragments
Run Code Online (Sandbox Code Playgroud)
我们假设:
new aX()将从另一个bundle加载该类.
导入的类优先于bundle类的原因是什么?它只是java层次类加载策略的后续延续吗?
android ×3
osgi ×3
equinox ×2
classloader ×1
eclipse ×1
junit ×1
kindle-fire ×1
osgi-bundle ×1
release ×1
video ×1
websphere-8 ×1