Xposed-based motion simulator with sensor support.

Related tags

App MotionEmulator
Overview

This project is under active development

MotionEmulator

Android motion simulator with sensor support.

Scenarios

If you study in universities in China, there'll be no necessity to explain it.

Despite how hard the faculty tries to make us take an after-dinner sunny long run every three days, we always want to create something innovative to make the life a little bit easier.

Usage

  • Pick up your phone and turn on the motion recorder
  • Take a one-hundred-meter speed run and press STOP
  • Draw the path you desire to be running on, like the one revolves around the mainland, probably using polyline
  • Set time limit and repeat count
  • Make more time

Build Instructions

Build and maintain this project with Android Studio or Intellij IDEA.

This app contains sdk from Amap, thus api keys are required. Obtain them from here and create a xml file under app/src/main/res/values

cd app/src/main/res/values
touch amap.xml
## Android SDK ##
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" >> amap.xml
echo "<resources><string name=\"amap_api_key\" translatable=\"false\">$android_sdk_key</dimen></resources>" >> amap.xml
## REST API ##
echo $rest_api >> local.properties

License

Copyright 2022 zhufucdev

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.
You might also like...
Android Package Inspector - dynamic analysis with api hooks, start unexported activities and more. (Xposed Module)
Android Package Inspector - dynamic analysis with api hooks, start unexported activities and more. (Xposed Module)

Inspeckage - Android Package Inspector Inspeckage is a tool developed to offer dynamic analysis of Android applications. By applying hooks to function

Xposed module which will set location where you want without effect mock location.
Xposed module which will set location where you want without effect mock location.

GPS Setter Support/Discussion: XDA thread As most of GPS spoof app not working anymore coz some are old and some are not proper implement with current

Xposed module to set the Signature Scheme for Android 30 = to 1. This allows system apps to be modified

SetSignatureSchemeV1 Xposed module to set the Signature Scheme for Android 30+ to 1. This allows system apps to be modified. This module makes the met

How to apply meaningful and delightful motion in a sample Android app
How to apply meaningful and delightful motion in a sample Android app

Applying meaningful motion on Android How to apply meaningful and delightful motion in a sample Android app Read the complete post at https://medium.c

Note taking app using MVVM architecture with Hilt, Material Motion, Coroutines, Flow, Jetpack
Note taking app using MVVM architecture with Hilt, Material Motion, Coroutines, Flow, Jetpack

Note taking app using MVVM architecture with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel,Paging3).

A beautiful app showing the use of a single recyclerview to display multiple views with motion layout and clean architecture
A beautiful app showing the use of a single recyclerview to display multiple views with motion layout and clean architecture

This app shows how to use a single recyclerview to build a beautiful multiple view layout (See image below) using clean architectural pattern

Android cutout screen support Android P. Android O support huawei, xiaomi, oppo and vivo.

CutoutScreenSupport Android cutout screen support Android P. Android O support huawei, xiaomi, oppo and vivo. Usage whether the mobile phone is cutout

FDPClient-EDITED - A free mixin-based injection hacked-client for Minecraft using Minecraft Forge based on LiquidBounce

FDPClient A free mixin-based injection hacked-client for Minecraft using Minecra

:movie_camera: Movie discovery app showcasing Android best practices with Google's recommended architecture: MVVM + Repository + Offline support + Android Architecture Components + Paging library & Retrofit2.
:movie_camera: Movie discovery app showcasing Android best practices with Google's recommended architecture: MVVM + Repository + Offline support + Android Architecture Components + Paging library & Retrofit2.

Popular Movies Stage 1 + Stage 2 Discover the most popular and top rated movies playing. Movies data fetched using themoviedb.org API. ✨ Screenshots M

Comments
  • [Suggest] Please disable the debug log on release mode / 请在 Release 模式下关闭调试日志输出

    [Suggest] Please disable the debug log on release mode / 请在 Release 模式下关闭调试日志输出

    我发现你的模块在 Release 模式下并未禁用调试日志功能 (API 自身的调试日志),这会造成大量无用自身日志输出给用户造成困扰,请确保其仅会在 Debug 模式输出,请在 HookEntry.kt 添加如下代码来配置日志的输出。

    override fun onInit() = configs {
        debugLog { tag = "/* Your TAG */" }
        isDebug = BuildConfig.DEBUG
    }
    

    如果你不进行任何配置,API 将会始终输出调试日志,包含但不限于:Hook 结果、查找方法耗时。

    opened by fankes 2
  • LSPosed crashes and system reboots with 1.0.6 (latest)

    LSPosed crashes and system reboots with 1.0.6 (latest)

    System boots normally. After singing in it asks me to make a new LSPosed shortcut which it never did before in the past year of usage. Then the system crashed. I tried to boot the system the same way twice after that without success. The 4th time I was lucky enough to get into LSPoses to disable the module before it could cause an unexpected reboot again.

    On a side note, the module didn't work as expected with the previous version on my system either. It did record the motion data and let me draw the trace, but upon simulation click it did nothing, timer didn't go down and also the remaining distance didn't decrease and no motion was picked up by Samsung Health in terms of steps walked.

    Here are the module logs: https://pastebin.com/M9BABsf7

    My LSPosed Installation:

    API version 93

    Injection Interface Zygisk

    Dex Optimizer Wrapper Supported

    Framework version 1.8.5 (6649)

    Manager version 1.8.5 (6649)

    System version 11 (API 30)

    Device OnePlus GM1913

    System ABI arm64-v8a

    opened by Hellsing 1
Releases(v1.0.9)
  • v1.0.9(Jan 5, 2023)

    Manage & Adding Salt

    To make each run different, I'd like to introduce salt to you

    • Basic salt includes scale, rotate, translate and anchor. Use custom matrix for more freedom
    • Each field of a salt is a math expression, so that very flexible the system is, and randomized variables can be involved
    • Specify the probability distribution of each variable using Bézier curve

    Moreover, each data is nameable, so it won't mess up

    Bugfix

    • A bad Chinese translation was changed
    • In trace drawing page, no need to double click the save button
    Source code(tar.gz)
    Source code(zip)
    app-release.apk(57.13 MB)
  • v1.0.8(Dec 20, 2022)

    I don't quite remember. Here's what is still in my brain

    Data Manager (beta)

    • Listing all data (trace, motion, cells), displaying their info
    • Delete with a simple swipe gesture

    Data Structure Change

    Warning: you may suffer data loss, cause the way the app stores data changed.

    If you'd like to keep your record, run the following script as root:

    #!/bin/sh
    cd /data/data/com.zhufucdev.motion_emulator
    
    mkdir files
    
    for motion in $(ls app_motion)
    do
    mv app_motion/$motion files/motion_$motion
    done
    
    for record in $(ls app_record)
    do
    mv app_record/$record files/record_$record
    done
    
    for cell in $(ls app_cells)
    do
    mv app_cells/$cell files/cells_$cell
    done
    

    Jetpack Compose

    To make the app more reactive (programmatically), home and manager page are written in Compose.

    Plans are made to migrate more pages.

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(56.24 MB)
  • v1.0.7(Dec 3, 2022)

    Blocking & Bypassing

    • Sensor and cell data now supports bypassing and blocking
    • When blocked, the target app won't receive incoming changes
    • When bypassed, the target app will use native sensor data

    Notification Support

    • When put into background, the app will send a notification that indicates the status of simulation

    Bugfix

    • Motion sensor simulation now works perfectly
    Source code(tar.gz)
    Source code(zip)
    app-release.apk(53.12 MB)
  • v1.0.6(Nov 29, 2022)

  • v1.0.5-beta(Nov 28, 2022)

    Material You

    Migrated to Material You, the app taking a brand-new look. If you don't know

    • App color scheme matches system style on Android S and later
    • Redesigned card, button, app bar and switch controls

    Bugfix

    IDK how it worked, but some bug related to emulation was fixed

    Art

    The new logo is a great piece of art, since I am a great artist

    • Added some good-looking icon
    • Supported themed icon
    Source code(tar.gz)
    Source code(zip)
    app-release.apk(53.12 MB)
  • v1.0.4-beta(Nov 24, 2022)

    Improved User Experience

    • Map camera animation was implemented
    • Debug log won't be printed
    • Able to set default configuration for emulation

    Bug fix

    • Specific sensors won't cause crash while recording
    • Not recording cell info won't smash the app
    Source code(tar.gz)
    Source code(zip)
    app-release.apk(53.07 MB)
  • 1.0.3-prerelease(Nov 20, 2022)

    Important Bug Fix

    This release includes significant bug fix for sensor simulation

    Previous releases are not recommended for use

    Motion records done previously are deprecated and need to be redone

    From this release on, the development stage comes to beta

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(53.05 MB)
  • 1.0.2-prerelease(Nov 19, 2022)

  • 1.0.1-prerelease(Nov 15, 2022)

  • 1.0-prerelease(Nov 15, 2022)

    Introducing MotionEmulator Prerelease

    Implemented

    • Material Design 2 UI
    • Motion sensor recorder
    • Cell station recorder
    • Trace drawer
    • Emulation preview
    • And other functions as you may have expected

    Not implemented

    • Map offset fixing
    • Trace map camera

    What to expect

    Bug and bug. Feel free to issue a PR

    Source code(tar.gz)
    Source code(zip)
    me-prerelease-1.0.apk(53.02 MB)
Owner
ZhuFu
A NUIST student.
ZhuFu
Mixed Xposed+Magisk module for customization of AOSP-based Android 12+

This is a mixed Xposed+Magisk module, which is made to allow customizations that are not originally designed in AOSP (Android Open Source Project).

Siavash 654 Jan 4, 2023
Simple Notes app demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

Simple Notes app demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

Aravind Chowdary 2 Sep 3, 2022
Helps to find your surrounding's light value (for android only) using device light sensor

react-native-ambient-light-sensor Helps to find your surrounding's light value (in lux unit) (for android only) using device light sensor Installation

Shayan Chatterjee 4 Aug 26, 2022
xposed安卓虚拟摄像头 android virtual camera on xposed hook

android_virtual_cam xposed安卓虚拟摄像头 感谢https://github.com/wangwei1237/CameraHook 提供的HOOK思路!! 求有无极的大佬,希望帮忙测试一下此模块虚拟框架下是否可用,测试后希望在issue中反馈一下,谢谢!!! 具体的使用方法(

null 645 Jan 1, 2023
A simple xposed module that helps you use your AdGuard subscription in multiple devices

DualGuard A simple xposed module that helps you use your AdGuard subscription in multiple (>3) devices. Monstor ahead! / 警告 This is NOT a module that

null 7 Oct 2, 2022
YukiHookAPI - An efficient Kotlin version of the Xposed Hook API

Yuki Hook API ?? An efficient Kotlin version of the Xposed Hook API. Introduce 这

Fankesyooni 459 Jan 1, 2023
SIMNumberSetter - A small Xposed module to set the SIM card's phone subscriber number

SIM Number Setter SIM Number Setter is a small Xposed module that invokes normal

Kieron Quinn 99 Dec 30, 2022
AnyText - An Xposed module trying to hook TextView in any activities

AnyText What's this This application provides features to modify any TextView in

Leonardo 41 Nov 30, 2022
Xposed module for Snapchat.

SnapMod Xposed module for Snapchat. Setup To set SnapMod up, download and install the latest apk from here. When you open it, it will ask to install s

Rodi 141 Jan 5, 2023
Media Provider Manager - An Xposed module intended to prevent media storage abuse

Media Provider Manager - An Xposed module intended to prevent media storage abuse

null 104 Dec 26, 2022