Add native methods to manipulate system and device info
This commit introduces multiple native methods, written in C++, to interact with system and device info such as RAM, CPU, disk, and uptime. It also includes mechanisms to modify or reset system properties, bypass anti-debugging, and handle file path redirection. Additionally, ensures proper JNI bindings to avoid runtime errors like `UnsatisfiedLinkError`.
This commit is contained in:
parent
931944167e
commit
b2ec85ddb9
|
@ -14,6 +14,13 @@ android {
|
|||
versionName "1.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
// 指定支持的 ABI 类型(如果需要限制支持的 ABI)
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments "-DANDROID_ABI=arm64-v8a"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
|
@ -21,15 +28,28 @@ android {
|
|||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
debug {
|
||||
// 禁用符号剥离
|
||||
ndk {
|
||||
debugSymbolLevel 'none'
|
||||
}
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
// 添加 CMake 支持
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
// 指定 CMakeLists.txt 的路径
|
||||
path file("src/main/cpp/CMakeLists.txt")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation libs.appcompat
|
||||
implementation libs.material
|
||||
implementation libs.activity
|
||||
|
@ -37,6 +57,7 @@ dependencies {
|
|||
testImplementation libs.junit
|
||||
androidTestImplementation libs.ext.junit
|
||||
androidTestImplementation libs.espresso.core
|
||||
|
||||
// Retrofit 核心库
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
|
||||
|
@ -45,5 +66,4 @@ dependencies {
|
|||
|
||||
// 如果需要 RxJava 支持(可选)
|
||||
implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
|
||||
|
||||
}
|
|
@ -13,6 +13,7 @@
|
|||
<uses-permission android:name="android.permission.VPN_SERVICE" />
|
||||
<uses-permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS" />
|
||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage" />
|
||||
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
cmake_minimum_required(VERSION 3.10.2) # 指定最低版本
|
||||
project("native_lib") # 定义项目名称
|
||||
|
||||
# 设置源文件列表
|
||||
set(SOURCE_FILES
|
||||
infoct.cpp # 确保路径正确
|
||||
)
|
||||
set(CMAKE_ANDROID_ARCH_ABI arm64-v8a)
|
||||
set(CMAKE_BUILD_TYPE Debug) # 确保构建为 Debug 模式
|
||||
set(CMAKE_NO_STRIP ON) # 禁止符号剥离
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI})
|
||||
|
||||
|
||||
# 包含头文件目录
|
||||
include_directories(${CMAKE_SOURCE_DIR})# 确保 fk_common_struct.h 可用
|
||||
|
||||
# 生成共享库
|
||||
add_library( # 设置生成的库名称
|
||||
native
|
||||
SHARED
|
||||
${SOURCE_FILES}
|
||||
)
|
||||
|
||||
# 链接系统库(例如 log 日志和 libc 等)
|
||||
target_link_libraries(
|
||||
native
|
||||
log # 用于 __android_log_print
|
||||
)
|
|
@ -0,0 +1,67 @@
|
|||
//
|
||||
|
||||
#define CMD_BASE 0xCBAABC10
|
||||
|
||||
#define FK_ADD_UID (CMD_BASE + 1)
|
||||
#define FK_REMOVE_UID (CMD_BASE + 2)
|
||||
#define FK_REMOVE_ALL_UID (CMD_BASE + 3)
|
||||
#define FK_SET_ANTI_DEBUG_STATUS (CMD_BASE + 4)
|
||||
|
||||
#define FK_GET_POWER (CMD_BASE + 10)
|
||||
#define FK_GET_POWER2 (CMD_BASE + 12)
|
||||
#define FK_RELEASE_POWER2 (CMD_BASE + 13)
|
||||
|
||||
|
||||
#define FK_HAS_POWER (CMD_BASE + 20)
|
||||
|
||||
#define FK_SET_CURRENT_NS_BOOT_ID (CMD_BASE + 30)
|
||||
#define FK_SET_CURRENT_UNAME (CMD_BASE + 31)
|
||||
|
||||
#define FK_SET_CURRENT_RAMSIZE (CMD_BASE + 51)
|
||||
#define FK_SET_CURRENT_SYSTEM_UPTIME_OFFSET (CMD_BASE + 52)
|
||||
#define FK_SET_CURRENT_DISK_INFO (CMD_BASE + 53)
|
||||
|
||||
|
||||
#define FK_RESET_IO_REDIRECT (CMD_BASE + 100)
|
||||
#define FK_ADD_REDIRECT_ITEM (CMD_BASE + 101)
|
||||
#define FK_REMOVE_REDIRECT_ITEM (CMD_BASE + 102)
|
||||
|
||||
#define FK_RESET_FILE_PATH_MOCK (CMD_BASE + 110)
|
||||
#define FK_ADD_FILE_PATH_MOCK (CMD_BASE + 111)
|
||||
|
||||
#define FK_CMD_MAX_VAL (CMD_BASE + 10000)
|
||||
|
||||
#define FK_OP_SUCCESS 0
|
||||
#define FK_OP_FAILED 1000
|
||||
|
||||
#define ARRAY_LENGTH(x) (sizeof(x) / sizeof(x[0]))
|
||||
|
||||
//
|
||||
#define FILE_PATH_MOCK_INFO_MAX 32
|
||||
struct file_path_mock_info {
|
||||
char filepath[256];
|
||||
int status; // 0
|
||||
long atime;
|
||||
long mtime;
|
||||
long ctime;
|
||||
long long rom_size;
|
||||
long long free_size;
|
||||
long long avail_size;
|
||||
};
|
||||
|
||||
#define FK_DISK_INFO_MAX 8
|
||||
struct fk_disk_info {
|
||||
long long rom_size;
|
||||
long long free_size;
|
||||
long long avail_size;
|
||||
};
|
||||
|
||||
#define BLACK_UID_MAX 32
|
||||
|
||||
|
||||
#define REDIRECT_ITEM_MAX 32
|
||||
struct io_redirect_item {
|
||||
int status; // 0 for not used, 1 for used
|
||||
char key[PATH_MAX];
|
||||
char value[PATH_MAX];
|
||||
};
|
|
@ -0,0 +1,305 @@
|
|||
#include <jni.h>
|
||||
#include <string>
|
||||
#include <android/log.h>
|
||||
#include <dlfcn.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <sys/sysinfo.h>
|
||||
#include <sys/prctl.h>
|
||||
#include <jni.h>
|
||||
#include <linux/utsname.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/vfs.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "fk_common_struct.h"
|
||||
|
||||
#define MY_LOG_TAG "DeviceTool-native"
|
||||
|
||||
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, MY_LOG_TAG,__VA_ARGS__) // 定义LOGE类型
|
||||
|
||||
|
||||
extern "C"
|
||||
JNIEXPORT jlongArray
|
||||
|
||||
JNICALL
|
||||
Java_com_android_devicetool_Native_getSysInfo(JNIEnv *env, jclass clazz) {
|
||||
struct sysinfo s_info;
|
||||
sysinfo(&s_info);
|
||||
|
||||
jlongArray ret = env->NewLongArray(6);
|
||||
jlong sysInfoArr[6] = {0};
|
||||
|
||||
sysInfoArr[0] = s_info.totalram * s_info.mem_unit;
|
||||
sysInfoArr[1] = s_info.freeram * s_info.mem_unit;
|
||||
sysInfoArr[2] = s_info.sharedram * s_info.mem_unit;
|
||||
sysInfoArr[3] = s_info.bufferram * s_info.mem_unit;
|
||||
sysInfoArr[4] = s_info.totalswap * s_info.mem_unit;
|
||||
sysInfoArr[5] = s_info.freeswap * s_info.mem_unit;
|
||||
|
||||
env->SetLongArrayRegion(ret, 0, 6, (jlong *) sysInfoArr);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_android_devicetool_Native_getPower(JNIEnv
|
||||
*env,
|
||||
jclass clazz
|
||||
) {
|
||||
prctl(FK_GET_POWER, 0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
static unsigned char hexCharToByte(char high, char low) {
|
||||
unsigned char highValue, lowValue;
|
||||
|
||||
if (isdigit(high)) {
|
||||
highValue = high - '0';
|
||||
} else {
|
||||
highValue = toupper(high) - 'A' + 10;
|
||||
}
|
||||
|
||||
if (isdigit(low)) {
|
||||
lowValue = low - '0';
|
||||
} else {
|
||||
lowValue = toupper(low) - 'A' + 10;
|
||||
}
|
||||
|
||||
return (highValue << 4) | lowValue;
|
||||
}
|
||||
|
||||
// 函数实现
|
||||
static size_t hexStrToByteArray(const char *hexStr, unsigned char *byteArray) {
|
||||
size_t len = strlen(hexStr);
|
||||
|
||||
if (len % 2 != 0) {
|
||||
return 0; // 输入长度无效
|
||||
}
|
||||
|
||||
size_t byteArraySize = len / 2;
|
||||
|
||||
for (size_t i = 0; i < byteArraySize; i++) {
|
||||
byteArray[i] = hexCharToByte(hexStr[2 * i], hexStr[2 * i + 1]);
|
||||
}
|
||||
|
||||
return byteArraySize;
|
||||
}
|
||||
|
||||
extern "C"
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_example_studyapp_device_Native_setBootId(JNIEnv
|
||||
*env,
|
||||
jclass clazz, jstring
|
||||
boot_id_hex_str) {
|
||||
if (boot_id_hex_str == NULL) {
|
||||
env->
|
||||
ThrowNew(env
|
||||
->FindClass("java/lang/IllegalArgumentException"), "boot_id_hex_str is NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
const char *c_boot_id_hex_str = env->GetStringUTFChars(boot_id_hex_str, 0);
|
||||
if (c_boot_id_hex_str == NULL) {
|
||||
env->
|
||||
ThrowNew(env
|
||||
->FindClass("java/lang/OutOfMemoryError"), "Unable to allocate memory for string.");
|
||||
return;
|
||||
}
|
||||
|
||||
size_t length = strlen(c_boot_id_hex_str);
|
||||
if (length != 32) {
|
||||
env->
|
||||
ReleaseStringUTFChars(boot_id_hex_str, c_boot_id_hex_str
|
||||
);
|
||||
env->
|
||||
ThrowNew(env
|
||||
->FindClass("java/lang/IllegalArgumentException"), "Invalid boot_id length, expected 32.");
|
||||
return;
|
||||
}
|
||||
|
||||
unsigned char boot_id[16] = {0};
|
||||
if (!
|
||||
hexStrToByteArray(c_boot_id_hex_str, boot_id
|
||||
)) {
|
||||
env->
|
||||
ReleaseStringUTFChars(boot_id_hex_str, c_boot_id_hex_str
|
||||
);
|
||||
env->
|
||||
ThrowNew(env
|
||||
->FindClass("java/lang/IllegalArgumentException"), "hexStrToByteArray failed.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (prctl(FK_SET_CURRENT_NS_BOOT_ID, boot_id, 0, 0) != 0) {
|
||||
env->
|
||||
ReleaseStringUTFChars(boot_id_hex_str, c_boot_id_hex_str
|
||||
);
|
||||
env->
|
||||
ThrowNew(env
|
||||
->FindClass("java/lang/RuntimeException"), "prctl call failed.");
|
||||
return;
|
||||
}
|
||||
|
||||
env->
|
||||
ReleaseStringUTFChars(boot_id_hex_str, c_boot_id_hex_str
|
||||
);
|
||||
}
|
||||
|
||||
extern "C"
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_android_devicetool_Native_deviceInfoChange(JNIEnv
|
||||
*env,
|
||||
jclass clazz
|
||||
) {
|
||||
|
||||
|
||||
prctl(FK_RESET_IO_REDIRECT);
|
||||
prctl(FK_RESET_FILE_PATH_MOCK);
|
||||
prctl(FK_REMOVE_ALL_UID);
|
||||
|
||||
prctl(FK_ADD_UID,
|
||||
|
||||
getuid()
|
||||
|
||||
);
|
||||
prctl(FK_ADD_UID, 2000);
|
||||
|
||||
struct new_utsname my_utsname = {
|
||||
.sysname = "Linux",
|
||||
.nodename = "localhost",
|
||||
.release = "5.9.0-42",
|
||||
.version = "#46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020",
|
||||
.machine = "aarch64",
|
||||
.domainname = "(none)"
|
||||
};
|
||||
|
||||
struct sysinfo s_info;
|
||||
sysinfo(&s_info);
|
||||
//4179690496
|
||||
// 990355536
|
||||
prctl(FK_SET_CURRENT_UNAME, my_utsname);
|
||||
|
||||
long long my_ramsize = 4179690496l * s_info.mem_unit;
|
||||
prctl(FK_SET_CURRENT_RAMSIZE, &my_ramsize);
|
||||
prctl(FK_SET_CURRENT_SYSTEM_UPTIME_OFFSET, 1000);
|
||||
|
||||
|
||||
struct fk_disk_info tmp_disk_info = {
|
||||
.avail_size = 110735782912,
|
||||
.free_size = 100752560128,
|
||||
.rom_size = 130041423872l
|
||||
};
|
||||
// 修改磁盘大小
|
||||
// statfs "/data"
|
||||
// statfs "/sdcard"
|
||||
|
||||
prctl(FK_SET_CURRENT_DISK_INFO, tmp_disk_info);
|
||||
|
||||
|
||||
struct file_path_mock_info tmp_file_path_mock_info = {
|
||||
.filepath = "/proc/cpuinfo",
|
||||
.atime = 0,
|
||||
.ctime = 0,
|
||||
.mtime = 0
|
||||
};
|
||||
|
||||
// 修改文件时间
|
||||
int tmpret = prctl(FK_ADD_FILE_PATH_MOCK, tmp_file_path_mock_info);
|
||||
LOGE("FK_ADD_FILE_PATH_MOCK tmpret : %d", tmpret);
|
||||
|
||||
// 路径重定向
|
||||
tmpret = prctl(FK_ADD_REDIRECT_ITEM, "/proc/cpuinfo", "/proc/meminfo");
|
||||
LOGE("FK_ADD_REDIRECT_ITEM tmpret : %d", tmpret);
|
||||
|
||||
}
|
||||
|
||||
extern "C"
|
||||
JNIEXPORT jboolean
|
||||
JNICALL
|
||||
Java_com_android_devicetool_Native_cpuInfoChange(JNIEnv * env, jclass, jstring
|
||||
redirectPath) {
|
||||
prctl(FK_RESET_IO_REDIRECT);
|
||||
prctl(FK_RESET_FILE_PATH_MOCK);
|
||||
prctl(FK_REMOVE_ALL_UID);
|
||||
|
||||
prctl(FK_ADD_UID, 2000);
|
||||
|
||||
struct file_path_mock_info tmp_file_path_mock_info = {
|
||||
.filepath = "/proc/cpuinfo",
|
||||
.atime = 0,
|
||||
.ctime = 0,
|
||||
.mtime = 0
|
||||
};
|
||||
const char *newPath = env->GetStringUTFChars(redirectPath, nullptr);
|
||||
LOGE("cpuinfo(newPath) : %s", newPath);
|
||||
|
||||
int ret = prctl(FK_ADD_FILE_PATH_MOCK, tmp_file_path_mock_info);
|
||||
if (ret == -1)
|
||||
return false;
|
||||
|
||||
ret = prctl(FK_ADD_REDIRECT_ITEM, "/proc/cpuinfo", newPath);
|
||||
|
||||
return ret != -1;
|
||||
}
|
||||
|
||||
extern "C"
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_android_devicetool_Native_deviceInfoShow(JNIEnv
|
||||
*env,
|
||||
jclass clazz
|
||||
) {
|
||||
struct sysinfo s_info;
|
||||
sysinfo(&s_info);
|
||||
|
||||
LOGE("s_info.totalram %ld", s_info.totalram);
|
||||
LOGE("s_info.freeram %ld", s_info.freeram);
|
||||
LOGE("s_info.sharedram %ld", s_info.sharedram);
|
||||
LOGE("s_info.bufferram %ld", s_info.bufferram);
|
||||
LOGE("s_info.mem_unit %ld", s_info.mem_unit);
|
||||
LOGE("s_info.uptime %ld", s_info.uptime);
|
||||
|
||||
struct statfs my_data;
|
||||
statfs("/data", &my_data);
|
||||
|
||||
LOGE("/data rom_size %ld", my_data.f_blocks * my_data.f_bsize);
|
||||
LOGE("/data free_size %ld", my_data.f_bfree * my_data.f_bsize);
|
||||
LOGE("/data avail_size %ld", my_data.f_bavail * my_data.f_bsize);
|
||||
|
||||
|
||||
struct stat64 mystat;
|
||||
int stat_ret = stat64("/proc/cpuinfo", &mystat);
|
||||
LOGE("stat64 /proc/cpuinfo %d", stat_ret);
|
||||
LOGE("/proc/cpuinfo st_atim %ld", mystat.st_atim.tv_sec);
|
||||
LOGE("/proc/cpuinfo st_mtim %ld", mystat.st_mtim.tv_sec);
|
||||
LOGE("/proc/cpuinfo st_ctim %ld", mystat.st_ctim.tv_sec);
|
||||
|
||||
|
||||
}
|
||||
extern "C"
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_android_devicetool_Native_deviceInfoReset(JNIEnv
|
||||
*env,
|
||||
jclass clazz
|
||||
) {
|
||||
prctl(FK_RESET_IO_REDIRECT);
|
||||
prctl(FK_RESET_FILE_PATH_MOCK);
|
||||
prctl(FK_REMOVE_ALL_UID);
|
||||
|
||||
prctl(FK_SET_CURRENT_UNAME, 0);
|
||||
prctl(FK_SET_CURRENT_RAMSIZE, 0);
|
||||
prctl(FK_SET_CURRENT_SYSTEM_UPTIME_OFFSET, 0);
|
||||
prctl(FK_SET_CURRENT_DISK_INFO, NULL);
|
||||
}
|
||||
extern "C"
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_android_devicetool_Native_enableBypassAntiDebug(JNIEnv
|
||||
*env,
|
||||
jclass clazz, jint
|
||||
uid) {
|
||||
prctl(FK_REMOVE_ALL_UID);
|
||||
prctl(FK_ADD_UID, uid);
|
||||
prctl(FK_SET_ANTI_DEBUG_STATUS, 1);
|
||||
}
|
|
@ -30,6 +30,7 @@ import androidx.core.content.ContextCompat;
|
|||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.example.studyapp.autoJS.AutoJsUtil;
|
||||
import com.example.studyapp.device.ChangeDeviceInfo;
|
||||
import com.example.studyapp.proxy.CustomVpnService;
|
||||
import com.example.studyapp.utils.ReflectionHelper;
|
||||
|
||||
|
@ -94,6 +95,20 @@ public class MainActivity extends AppCompatActivity {
|
|||
Toast.makeText(this, "Disconnect button not found", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
Button modifyDeviceInfoButton = findViewById(R.id.modifyDeviceInfoButton);
|
||||
if (modifyDeviceInfoButton != null) {
|
||||
modifyDeviceInfoButton.setOnClickListener(v -> ChangeDeviceInfo.changeDeviceInfo(getPackageName(),this));
|
||||
} else {
|
||||
Toast.makeText(this, "modifyDeviceInfo button not found", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
Button resetDeviceInfoButton = findViewById(R.id.resetDeviceInfoButton);
|
||||
if (resetDeviceInfoButton != null) {
|
||||
resetDeviceInfoButton.setOnClickListener(v -> ChangeDeviceInfo.resetChangedDeviceInfo(getPackageName(),this));
|
||||
} else {
|
||||
Toast.makeText(this, "resetDeviceInfo button not found", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void startProxyVpn(Context context) {
|
||||
|
|
|
@ -20,7 +20,7 @@ import java.lang.reflect.Method;
|
|||
|
||||
public class ChangeDeviceInfo {
|
||||
|
||||
public void changeDeviceInfo(String current_pkg_name,Context context) {
|
||||
public static void changeDeviceInfo(String current_pkg_name,Context context) {
|
||||
// 指定包名优先级高于全局
|
||||
callVCloudSettings_put(current_pkg_name + "_android_id", "my123456",context);
|
||||
callVCloudSettings_put(current_pkg_name + "_screen_brightness", "100",context);
|
||||
|
@ -118,26 +118,36 @@ public class ChangeDeviceInfo {
|
|||
|
||||
}
|
||||
|
||||
private void callVCloudSettings_put(String key, String value, Context context) {
|
||||
private static void callVCloudSettings_put(String key, String value, Context context) {
|
||||
if (context == null) {
|
||||
throw new IllegalArgumentException("Context cannot be null");
|
||||
}
|
||||
|
||||
try {
|
||||
// 获取类对象
|
||||
Class<?> clazz = Class.forName("android.provider.VCloudSettings$Global");
|
||||
Method putStringMethod = clazz.getDeclaredMethod("putString", ContentResolver.class, String.class, String.class);
|
||||
putStringMethod.setAccessible(true);
|
||||
|
||||
// 调用方法
|
||||
putStringMethod.invoke(null, context.getContentResolver(), key, value);
|
||||
Log.d("Debug", "putString executed successfully.");
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException("Class VCloudSettings$Global not found", e);
|
||||
Log.e("Reflection Error", "Class not found", e);
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new RuntimeException("Method putString not found", e);
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
throw new RuntimeException("Failed to invoke putString via reflection", e);
|
||||
Log.e("Reflection Error", "Method not found", e);
|
||||
} catch (InvocationTargetException e) {
|
||||
Throwable cause = e.getTargetException(); // 获取异常的根原因
|
||||
if (cause instanceof SecurityException) {
|
||||
Log.e("Reflection Error", "SecurityException: Permission denied. You need WRITE_SECURE_SETTINGS.", cause);
|
||||
} else {
|
||||
Log.e("Reflection Error", "InvocationTargetException during putString invocation", e);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.e("Reflection Error", "Unexpected error during putString invocation", e);
|
||||
}
|
||||
}
|
||||
|
||||
private void resetChangedDeviceInfo(String current_pkg_name,Context context) {
|
||||
public static void resetChangedDeviceInfo(String current_pkg_name,Context context) {
|
||||
try {
|
||||
Native.setBootId("00000000000000000000000000000000");
|
||||
} catch (Exception e) {
|
||||
|
|
Binary file not shown.
176
err.log
176
err.log
|
@ -1,14 +1,72 @@
|
|||
2025-05-29 15:19:05.558 65246-65246 AndroidRuntime com.example.studyapp D Shutting down VM
|
||||
2025-05-29 15:19:05.559 65246-65246 AndroidRuntime com.example.studyapp E FATAL EXCEPTION: main (Ask Gemini)
|
||||
Process: com.example.studyapp, PID: 65246
|
||||
java.lang.IllegalArgumentException: Service not registered: com.example.studyapp.MainActivity$1@992d8bc
|
||||
at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:2015)
|
||||
at android.app.ContextImpl.unbindService(ContextImpl.java:2076)
|
||||
at android.content.ContextWrapper.unbindService(ContextWrapper.java:889)
|
||||
at android.content.ContextWrapper.unbindService(ContextWrapper.java:889)
|
||||
at com.example.studyapp.MainActivity.stopProxy(MainActivity.java:186)
|
||||
at com.example.studyapp.MainActivity.lambda$onCreate$2$com-example-studyapp-MainActivity(MainActivity.java:94)
|
||||
at com.example.studyapp.MainActivity$$ExternalSyntheticLambda5.onClick(D8$$SyntheticClass:0)
|
||||
2025-05-29 18:31:01.362 12214-12253 OpenGLRenderer com.example.studyapp I Davey! duration=9184238016ms; Flags=0, FrameTimelineVsyncId=72708, IntendedVsync=4113925334671, Vsync=4113925334671, InputEventId=-1041137076, HandleInputStart=4113926523074, AnimationStart=4113931604430, PerformTraversalsStart=4113931816166, DrawStart=4113932196473, FrameDeadline=9188320516271553, FrameInterval=4113926504409, FrameStartTime=16666667, SyncQueued=4113937541186, SyncStart=4113937854706, IssueDrawCommandsStart=4113937950366, SwapBuffers=4113939236526, FrameCompleted=9188351942323312, DequeueBufferDuration=23040, QueueBufferDuration=465177, GpuCompleted=9188351942323312, SwapBuffersCompleted=4113940226083, DisplayPresentTime=0, CommandSubmissionCompleted=4113939236526,
|
||||
2025-05-29 18:31:02.682 12214-12233 OpenGLRenderer com.example.studyapp I Davey! duration=9184238019ms; Flags=0, FrameTimelineVsyncId=72966, IntendedVsync=4115242001364, Vsync=4115242001364, InputEventId=-866436489, HandleInputStart=4115243018485, AnimationStart=4115247485342, PerformTraversalsStart=4115247717785, DrawStart=4115248097217, FrameDeadline=9188352142352764, FrameInterval=4115243003028, FrameStartTime=16666667, SyncQueued=4115258519494, SyncStart=4115258606988, IssueDrawCommandsStart=4115258749020, SwapBuffers=4115260557520, FrameCompleted=9188353261370630, DequeueBufferDuration=18082, QueueBufferDuration=241775, GpuCompleted=9188353261370630, SwapBuffersCompleted=4115261043694, DisplayPresentTime=0, CommandSubmissionCompleted=4115260557520,
|
||||
2025-05-29 18:31:02.750 12214-12228 xample.studyapp com.example.studyapp I Compiler allocated 4413KB to compile void android.view.ViewRootImpl.performTraversals()
|
||||
2025-05-29 18:31:02.831 12214-12233 OpenGLRenderer com.example.studyapp I Davey! duration=9184238017ms; Flags=0, FrameTimelineVsyncId=73029, IntendedVsync=4115392001367, Vsync=4115392001367, InputEventId=-471849332, HandleInputStart=4115392772438, AnimationStart=4115398737358, PerformTraversalsStart=4115398960759, DrawStart=4115399244823, FrameDeadline=9188353392352789, FrameInterval=4115392759023, FrameStartTime=16666667, SyncQueued=4115407484419, SyncStart=4115407640741, IssueDrawCommandsStart=4115407725318, SwapBuffers=4115409246546, FrameCompleted=9188353409823715, DequeueBufferDuration=18082, QueueBufferDuration=240608, GpuCompleted=9188353409823715, SwapBuffersCompleted=4115409741762, DisplayPresentTime=0, CommandSubmissionCompleted=4115409246546,
|
||||
2025-05-29 18:31:03.812 1922-2017 MemInfoService com.android.expansiontools D memScan: [MemEntity(id=null, pid=12214, user=u0_a103, name=Script helper, pkg=com.example.studyapp, res=187, time=0, total=5083, ts=1748514663424, pr=10, ni=-10, virt=14336, shr=102, s=S, cpu=0.0, mem=5.6, args=com.example.studyapp)]
|
||||
2025-05-29 18:31:04.312 12214-12253 OpenGLRenderer com.example.studyapp I Davey! duration=9184238014ms; Flags=0, FrameTimelineVsyncId=73190, IntendedVsync=4116892001397, Vsync=4116892001397, InputEventId=-382612953, HandleInputStart=4116893008865, AnimationStart=4116893016156, PerformTraversalsStart=4116893021114, DrawStart=4116893357966, FrameDeadline=9188353542352792, FrameInterval=4116892979992, FrameStartTime=16666667, SyncQueued=4116903203825, SyncStart=4116903234739, IssueDrawCommandsStart=4116903293069, SwapBuffers=4116906054086, FrameCompleted=9188354906737413, DequeueBufferDuration=12832, QueueBufferDuration=189279, GpuCompleted=9188354906737413, SwapBuffersCompleted=4116906448392, DisplayPresentTime=0, CommandSubmissionCompleted=4116906054086,
|
||||
2025-05-29 18:31:04.352 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.353 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.354 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.354 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.355 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.356 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.356 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.357 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.358 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.358 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.359 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.360 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.360 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.361 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.361 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.362 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.363 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.363 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.364 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.365 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.366 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.366 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.367 12214-12214 Debug com.example.studyapp D putString executed successfully.
|
||||
2025-05-29 18:31:04.377 12214-12214 ShellUtils com.example.studyapp D Executing command: setprop ro.product.brand google
|
||||
2025-05-29 18:31:04.394 12214-12214 ShellUtils com.example.studyapp D Executing command: setprop ro.product.model raven
|
||||
2025-05-29 18:31:04.406 12214-12214 ShellUtils com.example.studyapp D Executing command: setprop ro.product.manufacturer google
|
||||
2025-05-29 18:31:04.425 12214-12214 ShellUtils com.example.studyapp D Executing command: setprop ro.product.device raven
|
||||
2025-05-29 18:31:04.455 12214-12214 ShellUtils com.example.studyapp D Executing command: setprop ro.product.name raven
|
||||
2025-05-29 18:31:04.468 12214-12214 ShellUtils com.example.studyapp D Executing command: setprop ro.build.version.incremental 9325679
|
||||
2025-05-29 18:31:04.477 12214-12214 ShellUtils com.example.studyapp E Unsafe command, aborting.
|
||||
2025-05-29 18:31:04.478 12214-12214 ShellUtils com.example.studyapp D Executing command: setprop ro.board.platform acr980m
|
||||
2025-05-29 18:31:04.488 12214-12214 System.err com.example.studyapp W java.lang.UnsatisfiedLinkError: dlopen failed: library "libnative.so" not found
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at java.lang.Runtime.loadLibrary0(Runtime.java:1077)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at java.lang.Runtime.loadLibrary0(Runtime.java:998)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at java.lang.System.loadLibrary(System.java:1670)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at com.example.studyapp.device.Native.<clinit>(Native.java:6)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at com.example.studyapp.device.Native.setBootId(Native Method)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at com.example.studyapp.device.ChangeDeviceInfo.changeDeviceInfo(ChangeDeviceInfo.java:103)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at com.example.studyapp.MainActivity.lambda$onCreate$3$com-example-studyapp-MainActivity(MainActivity.java:100)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at com.example.studyapp.MainActivity$$ExternalSyntheticLambda7.onClick(D8$$SyntheticClass:0)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.view.View.performClick(View.java:7542)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1218)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.view.View.performClickInternal(View.java:7519)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.view.View$PerformClick.run(View.java:29476)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.os.Handler.handleCallback(Handler.java:942)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.os.Handler.dispatchMessage(Handler.java:99)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.os.Looper.loopOnce(Looper.java:201)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.os.Looper.loop(Looper.java:288)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at android.app.ActivityThread.main(ActivityThread.java:7930)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at java.lang.reflect.Method.invoke(Native Method)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
|
||||
2025-05-29 18:31:04.489 12214-12214 System.err com.example.studyapp W at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
|
||||
2025-05-29 18:31:04.489 12214-12214 xample.studyapp com.example.studyapp E No implementation found for void com.example.studyapp.device.Native.setBootId(java.lang.String) (tried Java_com_example_studyapp_device_Native_setBootId and Java_com_example_studyapp_device_Native_setBootId__Ljava_lang_String_2)
|
||||
--------- beginning of crash
|
||||
2025-05-29 18:31:04.489 12214-12214 AndroidRuntime com.example.studyapp D Shutting down VM
|
||||
2025-05-29 18:31:04.489 12214-12214 AndroidRuntime com.example.studyapp E FATAL EXCEPTION: main (Ask Gemini)
|
||||
Process: com.example.studyapp, PID: 12214
|
||||
java.lang.UnsatisfiedLinkError: No implementation found for void com.example.studyapp.device.Native.setBootId(java.lang.String) (tried Java_com_example_studyapp_device_Native_setBootId and Java_com_example_studyapp_device_Native_setBootId__Ljava_lang_String_2)
|
||||
at com.example.studyapp.device.Native.setBootId(Native Method)
|
||||
at com.example.studyapp.device.ChangeDeviceInfo.changeDeviceInfo(ChangeDeviceInfo.java:103)
|
||||
at com.example.studyapp.MainActivity.lambda$onCreate$3$com-example-studyapp-MainActivity(MainActivity.java:100)
|
||||
at com.example.studyapp.MainActivity$$ExternalSyntheticLambda7.onClick(D8$$SyntheticClass:0)
|
||||
at android.view.View.performClick(View.java:7542)
|
||||
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1218)
|
||||
at android.view.View.performClickInternal(View.java:7519)
|
||||
|
@ -22,85 +80,17 @@
|
|||
at java.lang.reflect.Method.invoke(Native Method)
|
||||
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
|
||||
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
|
||||
2025-05-29 15:19:05.560 301-56098 ActivityTaskManager system_server W Force finishing activity com.example.studyapp/.MainActivity
|
||||
2025-05-29 15:19:05.566 65246-65246 Process com.example.studyapp I Sending signal. PID: 65246 SIG: 9
|
||||
---------------------------- PROCESS ENDED (65246) for package com.example.studyapp ----------------------------
|
||||
2025-05-29 15:19:05.600 301-317 ActivityManager system_server W Exception when unbinding service com.example.studyapp/.proxy.CustomVpnService (Ask Gemini)
|
||||
android.os.DeadObjectException
|
||||
at android.os.BinderProxy.transactNative(Native Method)
|
||||
at android.os.BinderProxy.transact(BinderProxy.java:584)
|
||||
at android.app.IApplicationThread$Stub$Proxy.scheduleUnbindService(IApplicationThread.java:1346)
|
||||
at com.android.server.am.ActiveServices.removeConnectionLocked(ActiveServices.java:4923)
|
||||
at com.android.server.am.ActiveServices.unbindServiceLocked(ActiveServices.java:3173)
|
||||
at com.android.server.am.ActivityManagerService.unbindService(ActivityManagerService.java:12798)
|
||||
at android.app.ContextImpl.unbindService(ContextImpl.java:2079)
|
||||
at com.android.server.connectivity.Vpn$1.interfaceRemoved(Vpn.java:2076)
|
||||
at com.android.server.NetworkManagementService.lambda$notifyInterfaceRemoved$3(NetworkManagementService.java:353)
|
||||
at com.android.server.NetworkManagementService$$ExternalSyntheticLambda6.sendCallback(Unknown Source:2)
|
||||
at com.android.server.NetworkManagementService.invokeForAllObservers(NetworkManagementService.java:314)
|
||||
at com.android.server.NetworkManagementService.notifyInterfaceRemoved(NetworkManagementService.java:353)
|
||||
at com.android.server.NetworkManagementService.-$$Nest$mnotifyInterfaceRemoved(Unknown Source:0)
|
||||
at com.android.server.NetworkManagementService$NetdUnsolicitedEventListener.lambda$onInterfaceRemoved$6$com-android-server-NetworkManagementService$NetdUnsolicitedEventListener(NetworkManagementService.java:620)
|
||||
at com.android.server.NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda0.run(Unknown Source:4)
|
||||
at android.os.Handler.handleCallback(Handler.java:942)
|
||||
at android.os.Handler.dispatchMessage(Handler.java:99)
|
||||
at android.os.Looper.loopOnce(Looper.java:201)
|
||||
at android.os.Looper.loop(Looper.java:288)
|
||||
at android.os.HandlerThread.run(HandlerThread.java:67)
|
||||
at com.android.server.ServiceThread.run(ServiceThread.java:44)
|
||||
2025-05-29 15:19:05.600 301-317 ActivityManager system_server W Bringing down service while still waiting for start foreground: ServiceRecord{7871f79 u0 com.example.studyapp/.proxy.CustomVpnService}
|
||||
2025-05-29 15:19:05.623 301-326 ActivityManager system_server W Failed to update http proxy for: com.example.studyapp
|
||||
2025-05-29 15:19:05.637 301-1242 ActivityManager system_server I app.info.packageName:com.example.studyapp app.setKilled(true)
|
||||
2025-05-29 15:19:05.637 301-1242 ActivityManager system_server I Process com.example.studyapp (pid 65246) has died: fg +50 TOP
|
||||
2025-05-29 15:19:05.637 301-986 WindowManager system_server I WIN DEATH: Window{d550fa0 u0 com.example.studyapp/com.example.studyapp.MainActivity}
|
||||
2025-05-29 15:19:05.637 301-986 InputManager-JNI system_server W Input channel object 'd550fa0 com.example.studyapp/com.example.studyapp.MainActivity (client)' was disposed without first being removed with the input manager!
|
||||
2025-05-29 15:19:05.660 301-321 WindowManager system_server W Failed to deliver inset state change to w=Window{d550fa0 u0 com.example.studyapp/com.example.studyapp.MainActivity EXITING} (Ask Gemini)
|
||||
android.os.DeadObjectException
|
||||
at android.os.BinderProxy.transactNative(Native Method)
|
||||
at android.os.BinderProxy.transact(BinderProxy.java:584)
|
||||
at android.view.IWindow$Stub$Proxy.insetsControlChanged(IWindow.java:473)
|
||||
at com.android.server.wm.WindowState.notifyInsetsControlChanged(WindowState.java:4015)
|
||||
at com.android.server.wm.InsetsStateController.lambda$notifyPendingInsetsControlChanged$4$com-android-server-wm-InsetsStateController(InsetsStateController.java:351)
|
||||
at com.android.server.wm.InsetsStateController$$ExternalSyntheticLambda2.run(Unknown Source:2)
|
||||
at com.android.server.wm.WindowAnimator.executeAfterPrepareSurfacesRunnables(WindowAnimator.java:345)
|
||||
at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:832)
|
||||
at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:777)
|
||||
at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:177)
|
||||
at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:126)
|
||||
at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:115)
|
||||
at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:57)
|
||||
at android.os.Handler.handleCallback(Handler.java:942)
|
||||
at android.os.Handler.dispatchMessage(Handler.java:99)
|
||||
at android.os.Looper.loopOnce(Looper.java:201)
|
||||
at android.os.Looper.loop(Looper.java:288)
|
||||
at android.os.HandlerThread.run(HandlerThread.java:67)
|
||||
at com.android.server.ServiceThread.run(ServiceThread.java:44)
|
||||
2025-05-29 15:19:05.661 301-321 WindowManager system_server W Exception thrown during dispatchAppVisibility Window{d550fa0 u0 com.example.studyapp/com.example.studyapp.MainActivity EXITING} (Ask Gemini)
|
||||
android.os.DeadObjectException
|
||||
at android.os.BinderProxy.transactNative(Native Method)
|
||||
at android.os.BinderProxy.transact(BinderProxy.java:584)
|
||||
at android.view.IWindow$Stub$Proxy.dispatchAppVisibility(IWindow.java:536)
|
||||
at com.android.server.wm.WindowState.sendAppVisibilityToClients(WindowState.java:3478)
|
||||
at com.android.server.wm.WindowContainer.sendAppVisibilityToClients(WindowContainer.java:1234)
|
||||
at com.android.server.wm.WindowToken.setClientVisible(WindowToken.java:392)
|
||||
at com.android.server.wm.ActivityRecord.setClientVisible(ActivityRecord.java:6865)
|
||||
at com.android.server.wm.ActivityRecord.onAnimationFinished(ActivityRecord.java:7687)
|
||||
at com.android.server.wm.ActivityRecord.postApplyAnimation(ActivityRecord.java:5512)
|
||||
at com.android.server.wm.ActivityRecord.commitVisibility(ActivityRecord.java:5472)
|
||||
at com.android.server.wm.ActivityRecord.commitVisibility(ActivityRecord.java:5476)
|
||||
at com.android.server.wm.AppTransitionController.handleClosingApps(AppTransitionController.java:1194)
|
||||
at com.android.server.wm.AppTransitionController.handleAppTransitionReady(AppTransitionController.java:304)
|
||||
at com.android.server.wm.RootWindowContainer.checkAppTransitionReady(RootWindowContainer.java:970)
|
||||
at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:834)
|
||||
at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:777)
|
||||
at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:177)
|
||||
at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:126)
|
||||
at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:115)
|
||||
at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:57)
|
||||
at android.os.Handler.handleCallback(Handler.java:942)
|
||||
at android.os.Handler.dispatchMessage(Handler.java:99)
|
||||
at android.os.Looper.loopOnce(Looper.java:201)
|
||||
at android.os.Looper.loop(Looper.java:288)
|
||||
at android.os.HandlerThread.run(HandlerThread.java:67)
|
||||
at com.android.server.ServiceThread.run(ServiceThread.java:44)
|
||||
2025-05-29 15:19:06.061 301-320 ActivityTaskManager system_server W Activity top resumed state loss timeout for ActivityRecord{e2942a u0 com.example.studyapp/.MainActivity} t-1 f}}
|
||||
2025-05-29 18:31:04.491 300-11157 ActivityTaskManager system_server W Force finishing activity com.example.studyapp/.MainActivity
|
||||
2025-05-29 18:31:04.498 300-316 ActivityManager system_server I Showing crash dialog for package com.example.studyapp u0
|
||||
2025-05-29 18:31:04.514 300-316 CoreBackPreview system_server D Window{a2bd234 u0 Application Error: com.example.studyapp}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper@77359ff, mPriority=0}
|
||||
2025-05-29 18:31:04.992 300-318 ActivityTaskManager system_server W Activity top resumed state loss timeout for ActivityRecord{ff3be4e u0 com.example.studyapp/.MainActivity} t118 f}}
|
||||
2025-05-29 18:31:04.996 300-318 ActivityTaskManager system_server W Activity pause timeout for ActivityRecord{ff3be4e u0 com.example.studyapp/.MainActivity} t118 f}}
|
||||
2025-05-29 18:31:09.354 300-384 InputDispatcher system_server W Window fd7dd4f com.example.studyapp/com.example.studyapp.MainActivity (server) is unresponsive: fd7dd4f com.example.studyapp/com.example.studyapp.MainActivity (server) is not responding. Waited 5002ms for MotionEvent
|
||||
2025-05-29 18:31:09.354 300-384 InputDispatcher system_server W Canceling events for fd7dd4f com.example.studyapp/com.example.studyapp.MainActivity (server) because it is unresponsive
|
||||
2025-05-29 18:31:09.354 300-384 WindowManager system_server I ANR in Window{fd7dd4f u0 com.example.studyapp/com.example.studyapp.MainActivity}. Reason:fd7dd4f com.example.studyapp/com.example.studyapp.MainActivity (server) is not responding. Waited 5002ms for MotionEvent
|
||||
2025-05-29 18:31:09.395 300-12566 ActivityManager system_server I Crashing app skipping ANR: com.android.server.am.ProcessErrorStateRecord@d90e124 Input dispatching timed out (fd7dd4f com.example.studyapp/com.example.studyapp.MainActivity (server) is not responding. Waited 5002ms for MotionEvent)
|
||||
2025-05-29 18:31:09.395 300-12566 ActivityManager system_server D Completed ANR of com.example.studyapp in 8ms, latency 0ms
|
||||
2025-05-29 18:31:14.378 1922-2017 MemInfoService com.android.expansiontools D memScan: [MemEntity(id=null, pid=12214, user=u0_a103, name=Script helper, pkg=com.example.studyapp, res=183, time=3, total=5178, ts=1748514674151, pr=20, ni=0, virt=14336, shr=102, s=S, cpu=0.0, mem=5.5, args=com.example.studyapp)]
|
||||
2025-05-29 18:31:15.031 300-318 ActivityTaskManager system_server W Activity destroy timeout for ActivityRecord{ff3be4e u0 com.example.studyapp/.MainActivity} t118 f}}
|
||||
2025-05-29 18:31:15.031 300-318 InputManager-JNI system_server W Input channel object 'fd7dd4f com.example.studyapp/com.example.studyapp.MainActivity (client)' was disposed without first being removed with the input manager!
|
||||
2025-05-29 18:31:24.950 1922-2017 MemInfoService com.android.expansiontools D memScan: [MemEntity(id=null, pid=12214, user=u0_a103, name=Script helper, pkg=com.example.studyapp, res=183, time=3, total=5119, ts=1748514684704, pr=20, ni=0, virt=14336, shr=102, s=S, cpu=0.0, mem=5.5, args=com.example.studyapp)]
|
||||
|
|
|
@ -19,3 +19,4 @@ android.useAndroidX=true
|
|||
# resources declared in the library itself and none from the library's dependencies,
|
||||
# thereby reducing the size of the R class for that library
|
||||
android.nonTransitiveRClass=true
|
||||
org.gradle.java.home=C:/Program Files/Java/jdk-21
|
Loading…
Reference in New Issue