当前位置: 首页 > 知识库问答 >
问题:

Android robolectric测试清单合并问题(Android beacon库)

阎功
2023-03-14

我有一个简单的测试用例

@Config(constants = BuildConfig.class)
@RunWith(RobolectricGradleTestRunner.class)
public class BaseTest  {

   @Test
   public void startEverTestSugarAppAsFirst() {
       BeaconManager.setsManifestCheckingDisabled(true);
   }

}

不幸的是,跑步者遇到了明显的合并问题

Java语言lang.RuntimeException:组织。备降信标。信标BeaconManager$ServiceNotDeclaredException:在AndroidManifest中未正确声明Beaccervice。xml。如果使用Eclipse,请验证您的项目。属性具有ManifestMerge。启用=真

位于组织。机器人分子。RobolectrictTestRunner 2美元。在org上评估(RobolectrictTestRunner.java:256)。机器人分子。RobolectrictTestRunner。org上的runChild(RobolectrictTestRunner.java:193)。机器人分子。RobolectrictTestRunner。org上的runChild(RobolectrictTestRunner.java:56)。朱尼特。跑步者。ParentRunner 3美元。在org上运行(ParentRunner.java:290)。朱尼特。跑步者。ParentRunner 1美元。计划(ParentRunner.java:71)位于org。朱尼特。跑步者。ParentRunner。org上的runChildren(ParentRunner.java:288)。朱尼特。跑步者。ParentRunner。访问org上的$000(ParentRunner.java:58)。朱尼特。跑步者。ParentRunner 2美元。在org上评估(ParentRunner.java:268)。机器人分子。RobolectrictTestRunner 1美元。在org上评估(RobolectrictTestRunner.java:159)。朱尼特。跑步者。ParentRunner。在org上运行(ParentRunner.java:363)。朱尼特。跑步者JUnitCore。在com上运行(JUnitCore.java:137)。intellij公司。junit4.JUnit4IdeaTestRunner。com上的startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)。intellij公司。rt.执行。朱尼特。JUnitStarter。com上的prepareStreamsAndStart(JUnitStarter.java:234)。intellij公司。rt.执行。朱尼特。JUnitStarter。sun的main(JUnitStarter.java:74)。反映NativeMethodAccessorImpl。在sun调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(NativeMethodAccessorImpl.java:62)。反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:43)。lang.reflect。方法在com上调用(Method.java:497)。intellij公司。rt.执行。应用AppMain。main(AppMain.java:144)由:org引起。备降信标。信标BeaconManager$ServiceNotDeclaredException:在AndroidManifest中未正确声明Beaccervice。xml。如果使用Eclipse,请验证您的项目。属性具有ManifestMerge。启用=在组织中为真。备降信标。信标BeaconManager。verifyServiceDeclaration(BeaconManager.java:786)位于org。备降信标。信标BeaconManager。(BeaconManager.java:252)位于org。备降信标。信标BeaconManager。com上的getInstanceForApplication(BeaconManager.java:244)。lucyapp。客户客户org上的onCreate(Client.java:67)。机器人分子。内部的平行宇宙。位于org的setUpApplicationState(ParallelUniverse.java:164)。机器人分子。RobolectrictTestRunner。位于org的setUpApplicationState(RobolectrictTestRunner.java:421)。机器人分子。RobolectrictTestRunner 2美元。评估(RobolectrictTestRunner.java:252)。。。18个以上

我想知道是否有什么简单的解决办法。我一直在浏览android beacon library测试文件

BeaconManager.setsManifestCheckingDisabled(true);

没有帮助

共有1个答案

贝滨海
2023-03-14

不知何故,BeaconManager是在调用BeaconManager之前构建的。setsManifestCheckingDisabled(true) 诀窍在于找出将该行放在哪里,以便首先执行该行。

查看堆栈跟踪,我看到BeaconManager是从com构建的。lucyapp。客户客户第67行的onCreate:

...
org.altbeacon.beacon.BeaconManager.getInstanceForApplication(BeaconManager.java:244) at 
com.lucyapp.client.Client.onCreate(Client.java:67)
...

知道了这一点,也许您可以找出可以将BeaconManager放在哪里。setsManifestCheckingDisabled(true) 行,以便在com之前调用它。lucyapp。客户客户onCreate(Client.java:67)

 类似资料:
  • 问题内容: 如何合并列表列表? 进入 如果我可以在合并列表之前在每个项目的开头和结尾添加一个值(例如html标签),那就更好了。 即,最终结果将是: 问题答案: 要串联列表,可以使用 要添加HTML标签,您可以使用列表推导。

  • 清单合并失败:android:需要为显式指定导出 这是我的build.gradle 我已经设置了。。。

  • 下列是评估过程中的测试项目清单: 索引 测试类别 测试名称 4.2 信息收集 4.2.1 OTG-INFO-001 搜索引擎信息发现和侦察 4.2.2 OTG-INFO-002 识别web服务器 4.2.3 OTG-INFO-003 web服务器元文件信息发现 4.2.4 OTG-INFO-004 服务器应用应用枚举 4.2.5 OTG-INFO-005 评论信息发现 4.2.6 OTG-INFO

  • 我有一个类列表,其中包含事件名称、时间戳和持续时间(timespan)。有许多重复的事件名称。我想通过事件名称合并它们,并添加它们的持续时间,并保留最早的时间戳,除非事件具有特定的名称。即,删除重复的事件名称,为相似的事件名称添加持续时间,并保留偶数名称的最早时间戳。 有更好的方法吗?可能是用LINQ吗? 下面是我尝试过的,它似乎没有正确地合并(仍然有重复的但更少) 类: 我的尝试: 例如,如果a

  • 我有2个版本的Androidanifest.xml文件在我的项目,一个是主要的,另一个调试。 通过gradle添加了一个库之后,我突然看到: 错误:任务执行失败:应用程序:进程MobileDebugManiast。 清单合并失败:属性application@labelvalue=(XXXX Debug)来自Androidanifest.xml:36: 13-45也存在于[library_name]

  • 错误:任务“:app:ProcessDebugManifest”执行失败。 清单合并失败:来自AndroidManifest.xml:13:9-42的属性application@icon value=(@mipmap/appiconnew)也存在于[com.pnikosis:materialish-progress:1.0]AndroidManifest.xml:13:9-45 value=(@d