Android app反编译解析

15 阅读1分钟

APP基础信息  

包名:com.xxx.xxx

版本:1.12.10

targetSdk:35

minSdk:29

Android 10+

横屏机器人控制 APP

一、整体架构

Android机器人控制中控系统 + Web前端运行时 + Native通信层 

二、Application 层分析

Manifest:

android:name="com.sagittarius.v6.StubApplication"

这是百度加固(Baidu Protect / 百度移动应用加固)的产物。

脱壳后,看到 APP的业务代码:

image.png

真实的业务代码入口是MainApplication。

三、Java/Kotlin层技术分析

Kotlin+Java混合

Activity

|

ViewModel

|

Repository

|

Retrofit

|

Native SDK

Jetpack

androidx:

  • Lifecycle
  • ViewModel
  • Room
  • Startup
  • RecyclerView
  • ConstraintLayout
  • Startup

Dagger

依赖注入:

Application

|

DaggerComponent

|

RobotManager

BleManager

NetworkManager

RxJava3

Robot UDP

|

Observable

|

UI

支持摇杆操作,如下:

image.png

四、assets目录分析

这是一个混合 Web App 架构:Vue/React,slam,pcd点云等。

这个web资源包从后台分发,代码:

五、Native层分析

libavcodec.so

libavdevice.so

libavfilter.so

libavformat.so

libswscale.so

1、视频流

机器人摄像头:

Camera

|

H264/H265

|

UDP/WebRTC

|

FFmpeg

|

Surface

2、录像

3、图传