Skip to content

Commit fba56a9

Browse files
committed
Adjust debugging settings
1. Set log buffer size for system 2. Increase buffer size to 128 Kb 3. Record also logs for APatch, KernelSU and SELinux 4. Add installation tasks for APatch
1 parent 2ac24fa commit fba56a9

File tree

2 files changed

+35
-15
lines changed

2 files changed

+35
-15
lines changed

daemon/src/main/jni/logcat.cpp

+22-15
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ using namespace std::string_view_literals;
1515
using namespace std::chrono_literals;
1616

1717
constexpr size_t kMaxLogSize = 4 * 1024 * 1024;
18-
constexpr long kLogBufferSize = 64 * 1024;
18+
constexpr long kLogBufferSize = 128 * 1024;
1919

2020
namespace {
2121
constexpr std::array<char, ANDROID_LOG_SILENT + 1> kLogChar = {
@@ -225,10 +225,11 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
225225
modules_print_count_ += PrintLogLine(entry, modules_file_.get());
226226
shortcut = true;
227227
}
228-
if (verbose_ &&
229-
(shortcut || buf->id() == log_id::LOG_ID_CRASH || entry.pid == my_pid_ ||
230-
tag == "Dobby"sv || tag == "Magisk"sv || tag == "LSPlant"sv || tag == "LSPlt"sv ||
231-
tag.starts_with("LSPosed"sv) || tag.starts_with("zygisk"sv))) [[unlikely]] {
228+
if (verbose_ && (shortcut || buf->id() == log_id::LOG_ID_CRASH || entry.pid == my_pid_ ||
229+
tag == "APatchD"sv || tag == "Dobby"sv || tag == "KernelSU"sv ||
230+
tag == "LSPlant"sv || tag == "LSPlt"sv || tag.starts_with("LSPosed"sv) ||
231+
tag == "Magisk"sv || tag == "SELinux"sv || tag.starts_with("zygisk"sv)))
232+
[[unlikely]] {
232233
verbose_print_count_ += PrintLogLine(entry, verbose_file_.get());
233234
}
234235
if (entry.pid == my_pid_ && tag == "LSPosedLogcat"sv) [[unlikely]] {
@@ -250,8 +251,9 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
250251
enable_watchdog = false;
251252
enable_watchdog.notify_one();
252253
std::system("resetprop -p --delete persist.logd.size");
253-
std::system("resetprop -p --delete persist.logd.size.main");
254254
std::system("resetprop -p --delete persist.logd.size.crash");
255+
std::system("resetprop -p --delete persist.logd.size.main");
256+
std::system("resetprop -p --delete persist.logd.size.system");
255257

256258
// Terminate the watchdog thread by exiting __system_property_wait firs firstt
257259
std::system("setprop persist.log.tag V");
@@ -263,28 +265,33 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
263265
void Logcat::StartLogWatchDog() {
264266
constexpr static auto kLogdSizeProp = "persist.logd.size"sv;
265267
constexpr static auto kLogdTagProp = "persist.log.tag"sv;
266-
constexpr static auto kLogdMainSizeProp = "persist.logd.size.main"sv;
267268
constexpr static auto kLogdCrashSizeProp = "persist.logd.size.crash"sv;
269+
constexpr static auto kLogdMainSizeProp = "persist.logd.size.main"sv;
270+
constexpr static auto kLogdSystemSizeProp = "persist.logd.size.system"sv;
268271
constexpr static long kErr = -1;
269272
std::thread watchdog([this] {
270273
Log("[LogWatchDog started]\n");
271274
while (true) {
272275
enable_watchdog.wait(false); // Blocking current thread until enable_watchdog is true;
273276
auto logd_size = GetByteProp(kLogdSizeProp);
274277
auto logd_tag = GetStrProp(kLogdTagProp);
275-
auto logd_main_size = GetByteProp(kLogdMainSizeProp);
276278
auto logd_crash_size = GetByteProp(kLogdCrashSizeProp);
279+
auto logd_main_size = GetByteProp(kLogdMainSizeProp);
280+
auto logd_system_size = GetByteProp(kLogdSystemSizeProp);
277281
Log("[LogWatchDog running] log.tag: " + logd_tag +
278-
"; logd.[default, main, crash].size: [" + std::to_string(logd_size) + "," +
279-
std::to_string(logd_main_size) + "," + std::to_string(logd_crash_size) + "]\n");
282+
"; logd.[default, crash, main, system].size: [" + std::to_string(logd_size) + "," +
283+
std::to_string(logd_crash_size) + "," + std::to_string(logd_main_size) + "," +
284+
std::to_string(logd_system_size) + "]\n");
280285
if (!logd_tag.empty() ||
281-
!((logd_main_size == kErr && logd_crash_size == kErr && logd_size != kErr &&
282-
logd_size >= kLogBufferSize) ||
283-
(logd_main_size != kErr && logd_main_size >= kLogBufferSize &&
284-
logd_crash_size != kErr && logd_crash_size >= kLogBufferSize))) {
286+
!((logd_crash_size == kErr && logd_main_size == kErr && logd_system_size == kErr &&
287+
logd_size != kErr && logd_size >= kLogBufferSize) ||
288+
(logd_crash_size != kErr && logd_crash_size >= kLogBufferSize &&
289+
logd_main_size != kErr && logd_main_size >= kLogBufferSize &&
290+
logd_system_size != kErr && logd_system_size >= kLogBufferSize))) {
285291
SetIntProp(kLogdSizeProp, std::max(kLogBufferSize, logd_size));
286-
SetIntProp(kLogdMainSizeProp, std::max(kLogBufferSize, logd_main_size));
287292
SetIntProp(kLogdCrashSizeProp, std::max(kLogBufferSize, logd_crash_size));
293+
SetIntProp(kLogdMainSizeProp, std::max(kLogBufferSize, logd_main_size));
294+
SetIntProp(kLogdSystemSizeProp, std::max(kLogBufferSize, logd_system_size));
288295
SetStrProp(kLogdTagProp, "");
289296
SetStrProp("ctl.start", "logd-reinit");
290297
}

magisk-loader/build.gradle.kts

+13
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,19 @@ fun afterEval() = android.applicationVariants.forEach { variant ->
296296
dependsOn(flashKsuTask)
297297
commandLine(adb, "shell", "su", "-c", "/system/bin/svc", "power", "reboot")
298298
}
299+
val flashAPatchTask = task<Exec>("flashAPatch${variantCapped}") {
300+
group = "LSPosed"
301+
dependsOn(pushTask)
302+
commandLine(
303+
adb, "shell", "su", "-c",
304+
"apd module install /data/local/tmp/${zipFileName}"
305+
)
306+
}
307+
task<Exec>("flashAPatchAndReboot${variantCapped}") {
308+
group = "LSPosed"
309+
dependsOn(flashAPatchTask)
310+
commandLine(adb, "shell", "su", "-c", "/system/bin/svc", "power", "reboot")
311+
}
299312
}
300313

301314
afterEvaluate {

0 commit comments

Comments
 (0)