This commit is contained in:
5ec1cff
2024-07-11 21:50:42 +08:00
parent 1fbcfd4654
commit 81ee8bd1e4
8 changed files with 46 additions and 26 deletions

View File

@@ -14,6 +14,12 @@ val verName: String by rootProject.extra
val commitHash: String by rootProject.extra
val abiList: List<String> by rootProject.extra
val releaseFlags = arrayOf(
"-Oz", "-flto",
"-Wno-unused", "-Wno-unused-parameter",
"-Wl,--exclude-libs,ALL", "-Wl,--gc-sections",
)
android {
defaultConfig {
ndk {
@@ -34,6 +40,14 @@ android {
path("src/main/cpp/CMakeLists.txt")
}
}
buildTypes {
release {
externalNativeBuild.cmake {
cFlags += releaseFlags
cppFlags += releaseFlags
}
}
}
}
androidComponents.onVariants { variant ->

View File

@@ -3,7 +3,6 @@ project(sample)
set(LINKER_FLAGS "-ffixed-x18 -Wl,--hash-style=both")
# TODO: set visibility only for our libs (-fvisibility=hidden -fvisibility-inlines-hidden)
set(CXX_FLAGS "${CXX_FLAGS} -fno-exceptions -fno-rtti")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_FLAGS}")
@@ -37,6 +36,8 @@ target_link_libraries(binder utils)
add_executable(libinject.so inject/main.cpp inject/utils.cpp)
target_link_libraries(libinject.so lspmparser my_logging)
target_compile_options(libinject.so PRIVATE -fvisibility=hidden -fvisibility-inlines-hidden)
add_library(${MODULE_NAME} SHARED binder_interceptor.cpp)
target_link_libraries(${MODULE_NAME} log binder utils dobby elf_util my_logging)
target_compile_options(${MODULE_NAME} PRIVATE -fvisibility=hidden -fvisibility-inlines-hidden)

View File

@@ -290,7 +290,9 @@ bool inject_library(int pid, const char *lib_path, const char* entry_name) {
}
int main(int argc, char **argv) {
#ifndef NDEBUG
logging::setPrintEnabled(true);
#endif
auto pid = strtol(argv[1], nullptr, 0);
char buf[4096];
realpath(argv[2], buf);