Использование LD_PRELOAD в AndroidC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Использование LD_PRELOAD в Android

Сообщение Anonymous »

Я пытаюсь использовать ld_preload для динамической загрузки файла .so во время запуска приложения. Я построил нативную библиотеку с помощью Android Studio (создание нативного проекта, а затем извлечение файла .so из APK).

Я выполнил шаги (https: // cedricvb.be/post/interpting-android-native-library-calls/) для настройки SetProp, но когда я запустил приложение, белый экран появляется и, кажется, вешает, но мой код конструктора не вызван (распечатайте строку на Logcat) .

Я изменил простой код конструктора из (https://www.gamedev.net/forums/topic/21 ... les-entry- point /).

#include
#include
#include
#include
#include
#include
#include

void simpleConstructor() __attribute__((constructor));
void simpleConstructor()
{
__android_log_print(ANDROID_LOG_DEBUG,"constructor","constructor_code");
}
< /code>

Я настроил переменную LD_PRELOAD как таковую < /p>

setprop wrap.com.x.y.z LD_PRELOAD=/data/local/tmp/libnative-lib.so
< /code>

и значение есть, когда я запускаю getProp. < /p>

Все, что я вижу в logcat, это записи, такие как < /p>

04-07 18:03:54.850 1659 6548 I ActivityManager: Force stopping com.x.y.z appid=10209 user=0: from pid 9076
04-07 18:03:54.953 1659 6548 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.x.y.z/.MainActivity} from uid 2000
04-07 18:03:54.991 9083 9083 I com.x.y.z: Late-enabling -Xcheck:jni
04-07 18:03:55.093 1659 1680 I ActivityManager: Start proc 9083:com.x.y.z/u0a209 for activity com.x.y.z/.MainActivity
04-07 18:04:05.099 1659 1678 W ActivityManager: Process ProcessRecord{b809543 9083:com.x.y.z/u0a209} failed to attach
04-07 18:04:05.101 1659 1678 I ActivityManager: Killing 9083:com.x.y.z/u0a209 (adj -10000): start timeout
< /code>

оцените любой совет. < /p>

Подробнее здесь: https://stackoverflow.com/questions/610 ... in-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»