android_packages_modules_Vi.../demo/AndroidManifest.xml

21 lines
868 B
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.microdroid.demo">
<uses-permission android:name="android.permission.MANAGE_VIRTUAL_MACHINE" />
<uses-sdk android:minSdkVersion="33" android:targetSdkVersion="33"/>
<application
android:label="MicrodroidDemo"
Unbundled test apps can obtain virtual machine permissions Currently, tests for pKVM are written as hode-side tests which interact with the platform using the `vm` tool. However, that approach has cause many problems: * Can't test Java APIs; we were testing the command line interface of the tool actually. * Unreliable connection to adb; we had to add busy loops to work around some of the flakes. We should move on to the device-side tests. There will be a self-instrumened test apk which will be driven by tradefed. However, one blocker to the plan is that the Java APIs are not available to test apps, as we don't have a plan to make the APIs public in TM and therefore we put the APIs behind signature-protected permissions (com.android.MANAGE_VIRTUAL_MACHINE, com.android.DEBUG_VIRTUAL_MACHINE). Since test apps can't be signed with the platform key, our test apk can't have the permission. This CL fixes the problem by turning on the `development` bit in the protection level of the permissions. Then the permission can be granted to the test apps satisfying following conditions (all): * test app has `android:testOnly="true"` in its manifest. The flag prevents the app from being uploaded to Play or installed from there. * the app has to be installed with the "-t" (`INSTALL_ALLOW_TEST`) flag * the permission has to be explicitly granted via `pm grant <package> <perm>` command`. Bug: 203483081 Test: TARGET_BUILD_APPS="MicrodroidDemoApp" m apps_only dist adb install --no-streaming -t out/dist/MicrodroidDemoApp.apk adb shell $ su; setenforce 0 // will be fixed $ pm grant com.android.microdroid.demo android.permission.MANAGE_VIRTUAL_MACHINE run the demo app Change-Id: Ic163a3bc745fc310d690faddde638405faad686c
2021-10-19 03:28:49 +00:00
android:theme="@style/Theme.MicrodroidDemo"
android:testOnly="true">
<uses-library android:name="android.system.virtualmachine" android:required="true" />
<activity android:name=".MainActivity" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>