小编Ily*_*nko的帖子

如何确定Android应用程序是否使用JUnit测试工具启动?

我需要在运行时从代码中确定应用程序是否在TestInstrumentation下运行.

我可以用一些env/system变量初始化测试环境,但Eclipse ADK启动配置不允许我这样做.

默认的Android系统属性和环境不包含任何有关它的数据.此外,它们完全相同,无论应用程序是定期启动还是正在测试中.

这可能是一个解决方案:是否有可能找出Android应用程序是否作为检测测试的一部分运行,但由于我不测试活动,所有提出的方法都不起作用.所述ActivityManager.isRunningInTestHarness()方法使用该罩下:

SystemProperties.getBoolean("ro.test_harness") 
Run Code Online (Sandbox Code Playgroud)

在我的情况下总是返回false.(要使用隐藏的android.os.SystemProperties类,我使用反射).

如果它正在测试中,我还能做些什么来尝试从应用程序内部确定?

junit android bootstrapping

20
推荐指数
2
解决办法
4544
查看次数

哪个版本的OSGi是由哪个版本的Eclipse/Equinox实现的?

我们正在寻找一个将Eclipse/Equinox发行版本(3.0-3.8)与相应的OSGi服务平台规范发布版本相匹配的表.Eclipse/Equinox wiki在结构化表单中没有任何关于此的信息.有人有这方面的知识吗?谢谢

eclipse osgi release equinox

18
推荐指数
1
解决办法
3100
查看次数

如何区分Android应用程序是否在亚马逊Kindle Fire上运行?

我最近从亚马逊移动应用程序分发门户网站拒绝了我的应用程序,其中包含菜单 - >"评估应用程序"选项重定向到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系统上运行?

android kindle-fire

15
推荐指数
3
解决办法
5113
查看次数

如何获取Android中视频文件的关键帧(同步帧)时间戳列表?

是否有任何API可以为我提供Android中给定视频文件关键帧的时间戳列表?

video android

11
推荐指数
2
解决办法
4750
查看次数

如何在 WAS 8.0 中部署的我自己的 OSGi 应用程序中启动特定包?

我有一个相当复杂的 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 应用程序中启动特定的包?”

osgi declarative-services equinox websphere-8 osgi-bundle

5
推荐指数
1
解决办法
213
查看次数

为什么导入的类优先于bundle类?

我知道规范确切地定义了它,但无法得到这个的原因:

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)

我们假设:

  1. 一个bundle声明"import-package:a"
  2. 此捆绑包中有一个本地类aX
  3. 另一个包中有一个类aX

new aX()将从另一个bundle加载该类.

导入的类优先于bundle类的原因是什么?它只是java层次类加载策略的后续延续吗?

osgi classloader

3
推荐指数
1
解决办法
650
查看次数