| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| * Copyright (C) 2019 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| --> |
| |
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| package="android.perfetto.cts.app.debuggable"> |
| |
| <!-- vmSafeMode="true" disables the JIT. |
| |
| HeapprofdJavaCtsTest cover Java heap dumps. |
| |
| Java heap dumps are not 100% reliable because they fork the app process, |
| which is multithreaded. If another thread is holding a lock, the forked |
| process can get stuck. This is a known limitation of java heap dumps. |
| |
| debuggable apps are not AOT-compiled, so there's a high chance that the |
| JIT is in use. The JIT runs on another thread and can hold locks. To |
| reduce the chance of running into the fork deadlock described earlier, |
| we simply disable the JIT for debuggable apps in tests. |
| --> |
| <application android:debuggable="true" android:vmSafeMode="true"> |
| <activity |
| android:name="android.perfetto.cts.app.MainActivity" |
| android:exported="true"> |
| </activity> |
| <activity-alias |
| android:name="android.perfetto.cts.app.debuggable.MainActivity" |
| android:targetActivity="android.perfetto.cts.app.MainActivity" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| </intent-filter> |
| </activity-alias> |
| <activity |
| android:name="android.perfetto.cts.app.BusyWaitActivity" |
| android:exported="true"> |
| </activity> |
| <activity-alias |
| android:name="android.perfetto.cts.app.debuggable.BusyWaitActivity" |
| android:targetActivity="android.perfetto.cts.app.BusyWaitActivity" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| </intent-filter> |
| </activity-alias> |
| <activity |
| android:name="android.perfetto.cts.app.JavaAllocActivity" |
| android:exported="true"> |
| </activity> |
| <activity-alias |
| android:name="android.perfetto.cts.app.debuggable.JavaAllocActivity" |
| android:targetActivity="android.perfetto.cts.app.JavaAllocActivity" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| </intent-filter> |
| </activity-alias> |
| <activity |
| android:name="android.perfetto.cts.app.JavaOomActivity" |
| android:exported="true"> |
| </activity> |
| <activity-alias |
| android:name="android.perfetto.cts.app.debuggable.JavaOomActivity" |
| android:targetActivity="android.perfetto.cts.app.JavaOomActivity" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| </intent-filter> |
| </activity-alias> |
| <activity |
| android:name="android.perfetto.cts.app.NoopActivity" |
| android:exported="true"> |
| </activity> |
| <activity-alias |
| android:name="android.perfetto.cts.app.debuggable.NoopActivity" |
| android:targetActivity="android.perfetto.cts.app.NoopActivity" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| </intent-filter> |
| </activity-alias> |
| <provider |
| android:name="android.perfetto.cts.app.FileContentProvider" |
| android:authorities="android.perfetto.cts.app.debuggable" |
| android:exported="true" |
| android:grantUriPermissions="true" /> |
| </application> |
| </manifest> |