LINUX.ORG.RU

Подскажите простейший способ реюза С-кода в Андроид приложении.
В первую очередь интересуют способы без NDK.

И как вы себе это представляете?

andreyu ★★★★★
()

Компилировать код на сях в Javascript с помощью Emscripten, а в приложении открывать скрытый WebView и вбрасывать туда результат.

i-rinat ★★★★★
()
Ответ на: комментарий от Solace

Есть куча логики написаной на С для десктопа. Хотелось бы ее реюзнуть. При этом глубого сакрального смысла или какой либо целесообразности в нативном коде - нету.

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

Есть куча логики написаной на С для десктопа. Хотелось бы ее реюзнуть.

Ну так для того вам и дали в руки NDK.

При этом глубого сакрального смысла или какой либо целесообразности в нативном коде - нету.

Видимо и в исходном вопросе никакого сакрального смысла не было.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

ndk убогое говно, я понимаю почему он так категоричен, но хорошие люди делают замену этому убожеству. Замена это crystax, и по сути больше нет возможности.

itn ★★★
()
Ответ на: комментарий от cvv

Собери через ndk-build, получишь so.
Если у тебя не будет необходимости дергать много через JNI, то по сути у тебя получится «вещь в себе» - куча логики на C и простой интерфейс на java.

Solace ★★
()
Ответ на: комментарий от andreyu

Нет libc (и не говори что есть) а только фикция, нет локатей, нет ещё много чего. А со стандартным ndk я могу например питон скомпилять? НЕТ! А это значит что те вещи для которых он создавался он не годится, и с вероятностью 146% я уверен что ndk был сделан наотебись. Вот и всё.

itn ★★★
()
Ответ на: комментарий от itn

А это значит что те вещи для которых он создавался он не годится

The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as game engines, signal processing, and physics simulation.



не благодари. Теперь ты не будешь считать, что NDK создавался для компиляния питона, и, соответственно - больше не будешь выглядеть упоротым наркоманом.

geek ★★★
()
Ответ на: комментарий от geek

Ну, в принципе согласен. Возразить тут нечего.

itn ★★★
()

Подскажите простейший способ реюза С-кода в Андроид приложении

Скомпиляй в бинарник, а потом из жабокода создавай как процесс. Ну, чтобы совсем без NDK, можешь себе кроссдевом из генты собрать тулчейн под Android. Правда, придётся bionic вместо libc как-то привязывать. Или какой-нибудь адекватный libc статически вкомпиливать.

Хотя в этом случае, никто JNI не даёт не воспользоваться.

a1batross ★★★★★
()
Последнее исправление: a1batross (всего исправлений: 2)
Ответ на: комментарий от itn

с вероятностью 146% я уверен что ndk был сделан наотебись

NDK — не совсем. Зато вот bionic именно так и был сделан.

a1batross ★★★★★
()
Ответ на: комментарий от itn

Нет libc (и не говори что есть) а только фикция, нет локатей, нет ещё много чего.

И все это вам лично и ТСу нужно?

А со стандартным ndk я могу например питон скомпилять? НЕТ!

Вот беда, как дальше жить без питона?

А это значит что те вещи для которых он создавался он не годится,

Диванный программист-аналитик?

и с вероятностью 146% я уверен что ndk был сделан наотебись. Вот и всё.

Требуйте у бабы Ванги деньги обратно, она вас ввела в заблуждение.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Диванный программист-аналитик?

Ты меня раскусил.

Дальнейший наш диалог уже будет флеймом, так что останемся при своих мнениях.

itn ★★★
()
Ответ на: комментарий от andreyu

Как бы предложение i-rinat необычно ни звучало, но это, возможно, единственный уже реально работающий способ. Ведь если имеется ввиду «без NDK», то, наверняка и без Crystax и без cross android toolchain. Иначе спрашивали альтернативу NDK.

gag ★★★★★
()

Кстати на сейчас я думаю попробовать транслятор С в Java.

И под «без NDK» в первую очередь понималось «без нативного кода». Чел предложивший интерпретатор С на Java понял меня правильно.

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

Чел предложивший интерпретатор С на Java понял меня правильно.

АдокЪ...

slackwarrior ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.