apkdmverity: enable AndroidTest

The Android test for apkdmverity is now enabled and the binary is
slightly modified to use Android-specific paths (e.g. /dev/block/loopX
instead of /dev/loopX).

Bug: 189785765
Test: cargo test
Test: adb root; adb shell setenforce 0; atest apkdmverity.test
Change-Id: Iaeebbefd961db289af3d2ba7492c1c3110f72c0c
diff --git a/apkverity/src/dm.rs b/apkverity/src/dm.rs
index 8828b0a..7ac72c8 100644
--- a/apkverity/src/dm.rs
+++ b/apkverity/src/dm.rs
@@ -126,11 +126,21 @@
 /// handle to "/dev/mapper/control".
 pub struct DeviceMapper(File);
 
+#[cfg(not(target_os = "android"))]
+const MAPPER_CONTROL: &str = "/dev/mapper/control";
+#[cfg(not(target_os = "android"))]
+const MAPPER_DEV_ROOT: &str = "/dev/mapper";
+
+#[cfg(target_os = "android")]
+const MAPPER_CONTROL: &str = "/dev/device-mapper";
+#[cfg(target_os = "android")]
+const MAPPER_DEV_ROOT: &str = "/dev/block/mapper";
+
 impl DeviceMapper {
     /// Constructs a new `DeviceMapper` entrypoint. This is essentially the same as opening
     /// "/dev/mapper/control".
     pub fn new() -> Result<DeviceMapper> {
-        let f = OpenOptions::new().read(true).write(true).open("/dev/mapper/control")?;
+        let f = OpenOptions::new().read(true).write(true).open(MAPPER_CONTROL)?;
         Ok(DeviceMapper(f))
     }
 
@@ -162,7 +172,7 @@
         dm_dev_suspend(&self, &mut data)?;
 
         // Step 4: wait unti the device is created and return the device path
-        let path = Path::new("/dev/mapper").join(&name);
+        let path = Path::new(MAPPER_DEV_ROOT).join(&name);
         wait_for_path(&path)?;
         Ok(path)
     }