摘要: 使用JNI fork进程实现 监控自身App被卸载
首先这个功能仅供cankao 毕竟这个行为已经跟数字公司一样不人道了
可以使用linux exec命令跳转到浏览器的反馈页
防工具盗链抓取【如果显示此文字,代表来自第三方转发】 freddon所有我使用的环境
IDE:Android Studio 2.0
gj:Android 4.4.2
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=uninstall
LOCAL_SRC_FILES:=uninstall.c
LOCAL_C_INCLUDES:= $(LOCAL_PATH)/include
LOCAL_SHARED_LIBRARIES := liblog libcutils
LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)
C代码:
原理是借用网上的监控文件夹变化(因为如果应用卸载了 对应的/data/data/包 文件夹也会发生变化)
// uninstall.c
// Created by Fred on 16/4/19.
//
// email:gsiner@live.com
#include <stdio.h>
#include <string.h>
#include <jni.h>
#include <android/log.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netinet/in.h>
#include <sys/inotify.h>
#include <stdlib.h>
#include <stdbool.h>
#include <netdb.h>
#include <sys/time.h>
#include <pthread.h>
#include <errno.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/wait.h>
#include "GUNetDef.h"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, "fred", __VA_ARGS__)
static char c_TAG[] = "onEvent";
#define BUFFER_SIZE 2