diff -uNr wasmer/lib/vm/src/trap/traphandlers.rs wasmer.mod/lib/vm/src/trap/traphandlers.rs
--- wasmer/lib/vm/src/trap/traphandlers.rs	2022-03-16 06:54:09.000000000 +0800
+++ wasmer.mod/lib/vm/src/trap/traphandlers.rs	2022-05-22 16:42:49.608666718 +0800
@@ -210,6 +210,9 @@
                 if #[cfg(all(target_os = "linux", target_arch = "x86_64"))] {
                     let cx = &*(cx as *const libc::ucontext_t);
                     cx.uc_mcontext.gregs[libc::REG_RIP as usize] as *const u8
+                } else if #[cfg(all(target_os = "android", target_arch = "x86_64"))] {
+                    let cx = &*(cx as *const libc::ucontext_t);
+                    cx.uc_mcontext.gregs[libc::REG_RIP as usize] as *const u8
                 } else if #[cfg(all(target_os = "linux", target_arch = "x86"))] {
                     let cx = &*(cx as *const libc::ucontext_t);
                     cx.uc_mcontext.gregs[libc::REG_EIP as usize] as *const u8
@@ -222,6 +225,12 @@
                 } else if #[cfg(all(target_os = "android", target_arch = "aarch64"))] {
                     let cx = &*(cx as *const libc::ucontext_t);
                     cx.uc_mcontext.pc as *const u8
+                } else if #[cfg(all(target_os = "linux", target_arch = "arm"))] {
+                    let cx = &*(cx as *const libc::ucontext_t);
+                    cx.uc_mcontext.arm_pc as *const u8 // still not implemented in rust libc
+                } else if #[cfg(all(target_os = "android", target_arch = "arm"))] {
+                    let cx = &*(cx as *const libc::ucontext_t);
+                    cx.uc_mcontext.arm_pc as *const u8
                 } else if #[cfg(all(target_vendor = "apple", target_arch = "x86_64"))] {
                     let cx = &*(cx as *const libc::ucontext_t);
                     (*cx.uc_mcontext).__ss.__rip as *const u8
