MTaaS导致资源泄漏

时间:2018-09-09 17:54:42

标签: java android testing google-play-console resource-leak

将二进制文件上传到Google Play后,我的应用在Android上根据Pre-Launch Report在其中一种测试设备上启动后被关闭。

该问题似乎是资源泄漏,原因是:

com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform

我设法发现MTaaS最有可能代表移动测试即服务

我是否纠正测试框架泄漏资源导致测试中止的情况?

如何阻止MTaaS泄漏?

来自Strict Mode中的Galaxy S9的完整设备日志:

注意:这是基于NDK的应用程序,几乎没有Java代码,并且不依赖FireBase。

E/StrictMode(14355): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
E/StrictMode(14355): java.lang.Throwable: Explicit termination method 'close' not called
E/StrictMode(14355):        at dalvik.system.CloseGuard.open(CloseGuard.java:223)
E/StrictMode(14355):        at android.os.ParcelFileDescriptor.<init>(ParcelFileDescriptor.java:192)
E/StrictMode(14355):        at android.os.ParcelFileDescriptor.<init>(ParcelFileDescriptor.java:181)
E/StrictMode(14355):        at android.os.ParcelFileDescriptor.createPipe(ParcelFileDescriptor.java:425)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.common.base.IOUtils.makeParcelAsync(IOUtils.java:1)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.platform.ScreenState.writeScreenElementsToParcel(ScreenState.java:141)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.platform.ScreenState.writeToParcel(ScreenState.java:60)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.platform.ParcelableScreenState.writeToParcel(ParcelableScreenState.java:6)
E/StrictMode(14355):        at android.os.Parcel.writeParcelable(Parcel.java:1746)
E/StrictMode(14355):        at android.os.Parcel.writeValue(Parcel.java:1652)
E/StrictMode(14355):        at android.os.Parcel.writeArrayMapInternal(Parcel.java:793)
E/StrictMode(14355):        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1506)
E/StrictMode(14355):        at android.os.Bundle.writeToParcel(Bundle.java:1181)
E/StrictMode(14355):        at android.os.Parcel.writeBundle(Parcel.java:833)
E/StrictMode(14355):        at android.os.Message.writeToParcel(Message.java:594)
E/StrictMode(14355):        at android.os.IMessenger$Stub$Proxy.send(IMessenger.java:84)
E/StrictMode(14355):        at android.os.Messenger.send(Messenger.java:57)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform.sendMessage(RemotePlatform.java:39)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform.sendActionResultsMessage(RemotePlatform.java:64)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform.handlePerformActionMessage(RemotePlatform.java:24)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform.access$300(RemotePlatform.java:88)
E/StrictMode(14355):        at com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform$ControllerMessageHandler.handleMessage(RemotePlatform.java:8)
E/StrictMode(14355):        at android.os.Handler.dispatchMessage(Handler.java:105)
E/StrictMode(14355):        at android.os.Looper.loop(Looper.java:164)
E/StrictMode(14355):        at android.os.HandlerThread.run(HandlerThread.java:65)
W/System.err(14355): StrictMode VmPolicy violation with POLICY_DEATH; shutting down.

2 个答案:

答案 0 :(得分:1)

这似乎是Google Play发布前报告搜寻器中的错误。我可以通知适当的团队,但总的来说,如果发生这种情况,您可以通过Play控制台支持告知他们。您可以通过Google Play控制台中的帮助菜单与他们联系。这是在问号“?”后面图标。

答案 1 :(得分:0)

我是MTaaS的一部分,正在调查此问题。但是我没有针对此问题/抓取的任何详细信息(例如,logcat或程序包名称)。

此堆栈跟踪是否显示为PLR失败的原因,还是从logcat中提取出来以帮助我们进行调试?如果是较晚的版本,是否可以共享显示在PLR上的堆栈跟踪。