Assigned
Status Update
Comments
dh...@gmail.com <dh...@gmail.com> #2
optimize for load once, query many
Perfetto trace shell processor now runs in http server mode.
cc...@google.com <cc...@google.com> #3
Pulling back to 1.2 because there are many instances of external users blocked on this. Plan is to open up what we have as experimental in 1.2.
ra...@gmail.com <ra...@gmail.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 80d9e8a14fae3015890c6ada4d6f72131cfd0d39
Author: Chris Craik <ccraik@google.com>
Date: Mon Feb 20 10:06:57 2023
Public experimental API for TraceProcessor
Bug:219851406
Test: ./gradlew bench:b-m:cC
Test: PerfettoTraceProcessorTest
Test: PerfettoTraceProcessorBenchmark
Relnote: "Added public experimental API for PerfettoTraceProcessor to
enable parsing trace content. This is a step toward fully custom
metrics based on Perfetto trace data."
Change-Id: I2659e84e85281f62f77abb6806f9c00bc2442f56
M benchmark/benchmark-macro/api/public_plus_experimental_current.txt
M benchmark/benchmark-macro/build.gradle
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PerfettoTraceRuleTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/TraceSectionMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/AndroidxTracingTraceTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/AudioUnderrunQueryTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/BatteryDischargeQueryTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/FrameTimingQueryTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureSweepTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoSdkTraceTest.kt
D benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessorTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PowerQueryTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/StartupTimingQueryTest.kt
A benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/PerfettoTraceProcessorTest.kt
A benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/RowTest.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/AudioUnderrunQuery.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/BatteryDischargeQuery.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/FrameTimingQuery.kt
D benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessor.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PowerQuery.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StartupTimingQuery.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StringHelper.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/server/PerfettoHttpServer.kt
A benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/ExperimentalPerfettoTraceProcessorApi.kt
A benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/PerfettoTraceProcessor.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/QueryResultIterator.kt
A benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/Row.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/Slice.kt
M benchmark/benchmark/build.gradle
M benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/PerfettoTraceProcessorBenchmark.kt
https://android-review.googlesource.com/2447462
Branch: androidx-main
commit 80d9e8a14fae3015890c6ada4d6f72131cfd0d39
Author: Chris Craik <ccraik@google.com>
Date: Mon Feb 20 10:06:57 2023
Public experimental API for TraceProcessor
Bug:219851406
Test: ./gradlew bench:b-m:cC
Test: PerfettoTraceProcessorTest
Test: PerfettoTraceProcessorBenchmark
Relnote: "Added public experimental API for PerfettoTraceProcessor to
enable parsing trace content. This is a step toward fully custom
metrics based on Perfetto trace data."
Change-Id: I2659e84e85281f62f77abb6806f9c00bc2442f56
M benchmark/benchmark-macro/api/public_plus_experimental_current.txt
M benchmark/benchmark-macro/build.gradle
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PerfettoTraceRuleTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/TraceSectionMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/AndroidxTracingTraceTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/AudioUnderrunQueryTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/BatteryDischargeQueryTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/FrameTimingQueryTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureSweepTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoSdkTraceTest.kt
D benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessorTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PowerQueryTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/StartupTimingQueryTest.kt
A benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/PerfettoTraceProcessorTest.kt
A benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/RowTest.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/AudioUnderrunQuery.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/BatteryDischargeQuery.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/FrameTimingQuery.kt
D benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessor.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PowerQuery.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StartupTimingQuery.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StringHelper.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/server/PerfettoHttpServer.kt
A benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/ExperimentalPerfettoTraceProcessorApi.kt
A benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/PerfettoTraceProcessor.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/QueryResultIterator.kt
A benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/Row.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/Slice.kt
M benchmark/benchmark/build.gradle
M benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/PerfettoTraceProcessorBenchmark.kt
cc...@google.com <cc...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit a1afb0d256ee6bf1aafb0ffd2cd958ac09c1fadd
Author: Chris Craik <ccraik@google.com>
Date: Thu Mar 09 16:43:42 2023
Add Experimental TraceMetric for fully custom metrics from traces
Fixes: 219851406
Test: ./gradlew bench:b-m:cC
Relnote: "Added new experimental TraceMetric API for defining fully
custom metrics based on content of a Perfetto trace."
Along with opening up the metric, migrates Metric to more extensible
output types. This allows us to eventually add further per-submetric
customization (such as per-submetric strictness on presence in each
iteration, custom display in studio, etc.
Also now correctly propogates TraceProcessor errors (e.g. query syntax
errors) to Kotlin callers.
This change also removes the concept of timelineRange in metric
results / trace UiState, as it's no longer necessary after
optimizations to remove sleep()s at the beginning/end of trace
capture.
Change-Id: I4ce3147b5bd1a13ae6a500389abdae3df461cacd
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/UiState.kt
M benchmark/benchmark-macro/api/public_plus_experimental_current.txt
M benchmark/benchmark-macro/build.gradle
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
A benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/TraceMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/TraceSectionMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/PerfettoTraceProcessorTest.kt
D benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/IterationResult.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/server/PerfettoHttpServer.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/PerfettoTraceProcessor.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/QueryResultIterator.kt
https://android-review.googlesource.com/2479937
Branch: androidx-main
commit a1afb0d256ee6bf1aafb0ffd2cd958ac09c1fadd
Author: Chris Craik <ccraik@google.com>
Date: Thu Mar 09 16:43:42 2023
Add Experimental TraceMetric for fully custom metrics from traces
Fixes: 219851406
Test: ./gradlew bench:b-m:cC
Relnote: "Added new experimental TraceMetric API for defining fully
custom metrics based on content of a Perfetto trace."
Along with opening up the metric, migrates Metric to more extensible
output types. This allows us to eventually add further per-submetric
customization (such as per-submetric strictness on presence in each
iteration, custom display in studio, etc.
Also now correctly propogates TraceProcessor errors (e.g. query syntax
errors) to Kotlin callers.
This change also removes the concept of timelineRange in metric
results / trace UiState, as it's no longer necessary after
optimizations to remove sleep()s at the beginning/end of trace
capture.
Change-Id: I4ce3147b5bd1a13ae6a500389abdae3df461cacd
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/UiState.kt
M benchmark/benchmark-macro/api/public_plus_experimental_current.txt
M benchmark/benchmark-macro/build.gradle
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
A benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/TraceMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/TraceSectionMetricTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/PerfettoTraceProcessorTest.kt
D benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/IterationResult.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/server/PerfettoHttpServer.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/PerfettoTraceProcessor.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/QueryResultIterator.kt
ap...@google.com <ap...@google.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.benchmark:benchmark-macro:1.2.0-alpha12
Description
Component used: Macrobenchmark Version used: AGP - v7.3.0 Profile Installer - v1.3.1 Devices/Android versions reproduced on: Vivo V2029, Android 12
I am trying to setup macrobenchmarking on my app which has multiple modules and multiple flavors and following the android developer guide. However, I am getting below error related to DROP_SHADER_CACHE even though I have added profileInstaller dependency on the target app.
com.example.macrobenchmark.ExampleStartupBenchmark > startup[V2029 - 12] FAILED java.lang.IllegalStateException: The DROP_SHADER_CACHE broadcast was not received. This most likely means that thehttps://developer.android.com/jetpack/androidx/releases/profileinstaller .
at androidx.benchmark.macro.MacrobenchmarkScope.dropShaderCache(MacrobenchmarkScope.kt:286)
androidx.profileinstaller
library used by the target apk is old. Please use1.3.0-alpha02
or newer. For more information refer to the release notes atI am using Android Gradle Plugin v7.3.0 and Profile Installer v1.3.1
Below error comes while running benchmark tests.
I have observed that APP installed as part of the above process crashes on launch. This might be the reason of above error.
Stacktrace of App Crash
2024-02-15 16:19:27.752 9069-9099 TestRunner com.example.macrobenchmark E failed: startup(com.example.macrobenchmark.ExampleStartupBenchmark) 2024-02-15 16:19:27.752 9069-9099 TestRunner com.example.macrobenchmark E ----- begin exception ----- 2024-02-15 16:19:27.774 9069-9099 TestRunner com.example.macrobenchmark E java.lang.IllegalStateException: The DROP_SHADER_CACHE broadcast was not received. This most likely means that thehttps://developer.android.com/jetpack/androidx/releases/profileinstaller .
at androidx.benchmark.macro.MacrobenchmarkScope.dropShaderCache(MacrobenchmarkScope.kt:286)
at androidx.benchmark.macro.MacrobenchmarkKt$macrobenchmarkWithStartupMode$1.invoke(Macrobenchmark.kt:440)
at androidx.benchmark.macro.MacrobenchmarkKt$macrobenchmarkWithStartupMode$1.invoke(Macrobenchmark.kt:422)
at androidx.benchmark.macro.MacrobenchmarkKt$macrobenchmark$measurements$1.invoke(Macrobenchmark.kt:251)
at androidx.benchmark.macro.MacrobenchmarkKt$macrobenchmark$measurements$1.invoke(Macrobenchmark.kt:241)
at androidx.benchmark.perfetto.PerfettoTraceProcessor$Companion.runServer(PerfettoTraceProcessor.kt:105)
at androidx.benchmark.macro.MacrobenchmarkKt.macrobenchmark(Macrobenchmark.kt:241)
at androidx.benchmark.macro.MacrobenchmarkKt.macrobenchmarkWithStartupMode(Macrobenchmark.kt:422)
at androidx.benchmark.macro.junit4.MacrobenchmarkRule.measureRepeated(MacrobenchmarkRule.kt:107)
at androidx.benchmark.macro.junit4.MacrobenchmarkRule.measureRepeated$default(MacrobenchmarkRule.kt:97)
at com.example.macrobenchmark.ExampleStartupBenchmark.startup(ExampleStartupBenchmark.kt:30)
at java.lang.reflect.Method.invoke(Native Method)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at androidx.benchmark.macro.junit4.MacrobenchmarkRule$applyInternal$1.evaluate(MacrobenchmarkRule.kt:133)
at androidx.test.rule.GrantPermissionRule$RequestPermissionStatement.evaluate(GrantPermissionRule.java:136)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at androidx.test.ext.junit.runners.AndroidJUnit4.run(AndroidJUnit4.java:162)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:67)
at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:58)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:446)
2024-02-15 16:19:27.774 9069-9099 TestRunner com.example.macrobenchmark E at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2298)
2024-02-15 16:19:27.774 9069-9099 TestRunner com.example.macrobenchmark E ----- end exception -----
2024-02-15 16:19:27.787 9069-9099 TestRunner com.example.macrobenchmark I finished: startup(com.example.macrobenchmark.ExampleStartupBenchmark)
2024-02-15 16:19:27.796 9069-9099 TestRunner com.example.macrobenchmark I run finished: 1 tests, 1 failed, 0 ignored
2024-02-15 16:19:44.858 9792-9792 AndroidRuntime pid-9792 E FATAL EXCEPTION: main
Process: com.app.myapp, PID: 9792
java.lang.RuntimeException: Unable to instantiate application com.game.soulmate.MyApplication package com.app.myapp: java.lang.ClassNotFoundException: Didn't find class "com.game.soulmate.MyApplication" on path: DexPathList[[zip file "/data/app/~~J71UieQOQlumHrcdA8XIpg==/com.app.myapp-Jvagd_AD7yNyuIUNahByDQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~J71UieQOQlumHrcdA8XIpg==/com.app.myapp-Jvagd_AD7yNyuIUNahByDQ==/lib/arm, /data/app/~~J71UieQOQlumHrcdA8XIpg==/com.app.myapp-Jvagd_AD7yNyuIUNahByDQ==/base.apk!/lib/armeabi-v7a, /system/lib, /system/system_ext/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:1392)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7183)
at android.app.ActivityThread.access$1800(ActivityThread.java:284)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2284)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:334)
at android.app.ActivityThread.main(ActivityThread.java:8399)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:582)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.game.soulmate.MyApplication" on path: DexPathList[[zip file "/data/app/~~J71UieQOQlumHrcdA8XIpg==/com.app.myapp-Jvagd_AD7yNyuIUNahByDQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~J71UieQOQlumHrcdA8XIpg==/com.app.myapp-Jvagd_AD7yNyuIUNahByDQ==/lib/arm, /data/app/~~J71UieQOQlumHrcdA8XIpg==/com.app.myapp-Jvagd_AD7yNyuIUNahByDQ==/base.apk!/lib/armeabi-v7a, /system/lib, /system/system_ext/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76)
at androidx.core.app.CoreComponentFactory.instantiateApplication(Unknown Source:0)
at android.app.Instrumentation.newApplication(Instrumentation.java:1227)
at android.app.LoadedApk.makeApplication(LoadedApk.java:1384)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7183)
at android.app.ActivityThread.access$1800(ActivityThread.java:284)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2284)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:334)
at android.app.ActivityThread.main(ActivityThread.java:8399)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:582)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)
Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/facebook/react/ReactApplication;
at java.lang.VMClassLoader.findLoadedClass(Native Method)
at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
... 15 more
Caused by: java.lang.ClassNotFoundException: com.facebook.react.ReactApplication
... 18 more
androidx.profileinstaller
library used by the target apk is old. Please use1.3.0-alpha02
or newer. For more information refer to the release notes at