Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2019 November 28

П

Паша in Android NDK (C++) — русскоговорящее сообщество
нужно написать код, который будет получать данные с устройства и потом отображать на устройстве, предположительно на планшете с andriod. Тут нужны спецы по JNI - java native interface это библиотека, позволяющая связывать нативный код на с++ и код на java / kotlin на котором делают интерфейс под android
источник

ZS

Zhanat Suleimenov in Android NDK (C++) — русскоговорящее сообщество
Какой познавательный пост. "Спецы по JNI" да и все участники этого сообщества думаю и так знают что такое JNI.
источник

A

Anton in Android NDK (C++) — русскоговорящее сообщество
Zhanat Suleimenov
Какой познавательный пост. "Спецы по JNI" да и все участники этого сообщества думаю и так знают что такое JNI.
Я объясню. Ему нужно сделать дело, которое приведёт к результату, который будет заключаться в том, что всё будет работать ровно так, как должно работать согласно задумке, на подходящем устройстве, при этом код необходимо написать на языке программирования и скомпилировать в компиляторе на компьютере.
источник

П

Паша in Android NDK (C++) — русскоговорящее сообщество
Anton
Я объясню. Ему нужно сделать дело, которое приведёт к результату, который будет заключаться в том, что всё будет работать ровно так, как должно работать согласно задумке, на подходящем устройстве, при этом код необходимо написать на языке программирования и скомпилировать в компиляторе на компьютере.
Именно!
источник

SC

Sheldon Cooper in Android NDK (C++) — русскоговорящее сообщество
Vadim Zhdanov
я в flavor для релиза прописал proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Спасибо. То есть proguard обфусцирует и C/C++ код тоже?
источник

SC

Sheldon Cooper in Android NDK (C++) — русскоговорящее сообщество
Evgen Bodunov
А зачем? Что там за крипто код, который никому нельзя светить? Прочитать содержимое библиотеки достаточно тяжело. Надо уметь пользоваться IDA, Ghidra и проч. Это уже достаточно высокий уровень. И если кто-то настолько сильно заинтересуется. Он сможет выцепить область памяти, куда библиотека загрузилась после распаковки и посмотреть что там.
Зачем?
Ломаные версии приложения в котором есть логика на C, которую изменяют третьи лица :), появляются в день выхода новой версии приложения.
источник

SC

Sheldon Cooper in Android NDK (C++) — русскоговорящее сообщество
Vadim Zhdanov
я в flavor для релиза прописал proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Здесь вроде как написано, что proguard работает только с Java.

Because ProGuard can only inspect Java classes, it will not know about any usages that happen in native code.

https://medium.com/androiddevelopers/practical-proguard-rules-examples-5640a3907dc9
источник

VZ

Vadim Zhdanov in Android NDK (C++) — русскоговорящее сообщество
Sheldon Cooper
Здесь вроде как написано, что proguard работает только с Java.

Because ProGuard can only inspect Java classes, it will not know about any usages that happen in native code.

https://medium.com/androiddevelopers/practical-proguard-rules-examples-5640a3907dc9
Интересно, у меня креши не распознаются в крешлитике, может как-то по другому тогда работает прогуард на ндк
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Sheldon Cooper
Спасибо. То есть proguard обфусцирует и C/C++ код тоже?
Нет
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Sheldon Cooper
Зачем?
Ломаные версии приложения в котором есть логика на C, которую изменяют третьи лица :), появляются в день выхода новой версии приложения.
Ха ха ха. Будто С ломать легче чем Java.
источник

SC

Sheldon Cooper in Android NDK (C++) — русскоговорящее сообщество
Evgen Bodunov
Ха ха ха. Будто С ломать легче чем Java.
Они ломают C
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Пруфы в студию
источник

SC

Sheldon Cooper in Android NDK (C++) — русскоговорящее сообщество
Evgen Bodunov
Пруфы в студию
Я хотел к Вам лично обратиться по этому вопросу, поскольку это Вы, ещё более года назад, выдвинули идею о том, чтобы запаковать пакером библиотеку на C.
Если разрешите я Вам напишу в личные сообщения, приведу пруфы, и, если можно, обращусь к Вам, за платной консультацией, только немного позже.
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
Думается мне, что они ничего не ломают, а просто берут библиотеку и вызывают экспортируемые методы, даже не заглядывая вовнутрь библиотеки. Просто смотрят как эти вызовы используются в джаве и также используют их у себя.
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
Vadim Zhdanov
Интересно, у меня креши не распознаются в крешлитике, может как-то по другому тогда работает прогуард на ндк
Креши не распознаются, потому что в crashlytics не загружены debug symbols. Proguard здесь не имеет власти.
источник
2019 November 29

SC

Sheldon Cooper in Android NDK (C++) — русскоговорящее сообщество
Andrey Panchenko
Думается мне, что они ничего не ломают, а просто берут библиотеку и вызывают экспортируемые методы, даже не заглядывая вовнутрь библиотеки. Просто смотрят как эти вызовы используются в джаве и также используют их у себя.
Моя .so библиотека, в том числе, проверяет подпись приложения. Эта .so библиотека, в их версии приложения, имеет другую длину и другой md5.
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
Sheldon Cooper
Моя .so библиотека, в том числе, проверяет подпись приложения. Эта .so библиотека, в их версии приложения, имеет другую длину и другой md5.
Через парсинг dex? Тогда ситуация интереснее, конечно.
источник

SC

Sheldon Cooper in Android NDK (C++) — русскоговорящее сообщество
Andrey Panchenko
Через парсинг dex? Тогда ситуация интереснее, конечно.
Через парсинг dex?
Что через парсинг dex? Я проверяю подпись приложения? Нет там проще.
источник

VZ

Vadim Zhdanov in Android NDK (C++) — русскоговорящее сообщество
Andrey Panchenko
Креши не распознаются, потому что в crashlytics не загружены debug symbols. Proguard здесь не имеет власти.
как их загрузить? с помощью вот этой команды: ./gradlew crashlyticsUploadSymbolsRelease ?
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
когда она правильно настроена видно, как она генерит инфу о символах и себе посылает если этого не произошло - что-то было сделано не так.
источник