Size: a a a

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

2018 November 01

AD

Andrew Dementiev in Android NDK (C++) — русскоговорящее сообщество
ну в грэдле тоже пару строчек вписать надо
источник

l

lulzceh in Android NDK (C++) — русскоговорящее сообщество
Andrew Dementiev
ну в грэдле тоже пару строчек вписать надо
но у меня проджект с Android.mk тоесть ndkBuild, хз куда его переместить нужно, все по дефолту app\jni/Android.mk, хм уже и пути на пробелы проверил, и по гайдлайнам, и в %PATH% указывал путь, ума не приложу как указать NDK_PROJECT_PATH
источник

A

Alexey in Android NDK (C++) — русскоговорящее сообщество
NDK_PROJECT_PATH - создай переменную окружения с таким именем и в качестве значения переменной - путь
источник

AD

Andrew Dementiev in Android NDK (C++) — русскоговорящее сообщество
источник

☠🇷

☠️ hex 🇷🇺🐍 in Android NDK (C++) — русскоговорящее сообщество
lulzceh
но у меня проджект с Android.mk тоесть ndkBuild, хз куда его переместить нужно, все по дефолту app\jni/Android.mk, хм уже и пути на пробелы проверил, и по гайдлайнам, и в %PATH% указывал путь, ума не приложу как указать NDK_PROJECT_PATH
источник

l

lulzceh in Android NDK (C++) — русскоговорящее сообщество
так, ну все же проблему тут так и не решили, а отключают автобилд натива
jni.srcDirs = [] //disable automatic ndk-build call
а добавляют градл таск аналогичный билду из консоли, вот вот этот костыль попробую, должен помочь, хотя это не то как должно было работать, но идея гуд
источник

W

WaterSmith in Android NDK (C++) — русскоговорящее сообщество
#whois▫️Я самоучка-фрилансер, пару лет изучаю разработку под Android на Java, разбираюсь в реляционных БД. Думаю попробовать разработку с использованием NDK. Надеюсь, здесь буду периодически натыкаться на полезный материал. Пока буду молча читать, в будущем по мере профессионального роста возможно начну отвечать на вопросы. Про группу узнал из группы "StartAndroid Ru Testing", там кто-то поделился ссылкой сюда.
источник

PV

Pavel Vasiliev in Android NDK (C++) — русскоговорящее сообщество
lulzceh
Ребятушки, спасайте, уже который раз бьюсь с ошибкой NDK_PROJECT_PATH=null я так понял андроид студия или градл плагин или даже сам аллах не может найти путь к текущему проекту, подскажите кто какими версиями билдит, билд через ndk-build, система Шиндоус10
Знакомая проблема. У меня NDK тоже почему то любить не находить пути к исходникам и бинарям. Я с некоторого времени стал для всех модулей где есть нейтив заводить переменную типа:

def PROJECT_DIR = "${projectDir.getParent()}/mymodulewithnativestuff"

которую можно потом юзать и во флагах:

defaultConfig {
       externalNativeBuild {
           cmake {
arguments "-DANDROID_STL=gnustl_shared", "-DPROJECT_DIR=$PROJECT_DIR", "-DFSDK_DIR=$PROJECT_DIR/native/sdk/"
         }
    }
}

И в скриптах Cmake:

cmake_minimum_required(VERSION 3.4.1)
set(CMAKE_ANDROID_STL_TYPE "gnustl_shared")
set(ASSETS_DIR "${PROJECT_DIR}/native/sdk/data")
...

Знаю что это довольно деревянное решение, зато удобно
источник

l

lulzceh in Android NDK (C++) — русскоговорящее сообщество
Pavel Vasiliev
Знакомая проблема. У меня NDK тоже почему то любить не находить пути к исходникам и бинарям. Я с некоторого времени стал для всех модулей где есть нейтив заводить переменную типа:

def PROJECT_DIR = "${projectDir.getParent()}/mymodulewithnativestuff"

которую можно потом юзать и во флагах:

defaultConfig {
       externalNativeBuild {
           cmake {
arguments "-DANDROID_STL=gnustl_shared", "-DPROJECT_DIR=$PROJECT_DIR", "-DFSDK_DIR=$PROJECT_DIR/native/sdk/"
         }
    }
}

И в скриптах Cmake:

cmake_minimum_required(VERSION 3.4.1)
set(CMAKE_ANDROID_STL_TYPE "gnustl_shared")
set(ASSETS_DIR "${PROJECT_DIR}/native/sdk/data")
...

Знаю что это довольно деревянное решение, зато удобно
в моем случае под ndk-build
ndkBuild {
               targets 'app'
               arguments 'NDK_PROJECT_PATH='app'
}
все аргументы передаются и только NDK_PROJECT_PATH всегда null
Вобщем насколько я понял, дефолтные пути по которым билдер ищет исходники, что-то типа /app/src/main
мне нужно сбилдить cocos2d, там вобще поразному могут распологаться ресурсы, от проекта зависит, и даже если задавать пути в jniLibs.srcDir 'src/main/libs', не спасает, да и как оказалась исходники не выше ndk r16 а у меня r18, вобщем куча нюансов, спасает только взять шаблон от девелоперов cocos2d, запустить его, и так-же повторить на своем проекте
источник

PV

Pavel Vasiliev in Android NDK (C++) — русскоговорящее сообщество
lulzceh
в моем случае под ndk-build
ndkBuild {
               targets 'app'
               arguments 'NDK_PROJECT_PATH='app'
}
все аргументы передаются и только NDK_PROJECT_PATH всегда null
Вобщем насколько я понял, дефолтные пути по которым билдер ищет исходники, что-то типа /app/src/main
мне нужно сбилдить cocos2d, там вобще поразному могут распологаться ресурсы, от проекта зависит, и даже если задавать пути в jniLibs.srcDir 'src/main/libs', не спасает, да и как оказалась исходники не выше ndk r16 а у меня r18, вобщем куча нюансов, спасает только взять шаблон от девелоперов cocos2d, запустить его, и так-же повторить на своем проекте
Хм, не работал с кокосом. Может скачать старый NDK и попробовать собрать с ним?
источник

l

lulzceh in Android NDK (C++) — русскоговорящее сообщество
Pavel Vasiliev
Хм, не работал с кокосом. Может скачать старый NDK и попробовать собрать с ним?
со старым ndk уже повеселее, и чудом пофиксилась NDK_PROJECT_PATH=null
источник

l

lulzceh in Android NDK (C++) — русскоговорящее сообщество
теперь переменную подхватывает и в аргументах и через переменные окружения
источник
2018 November 02

S

Saidash Khusainov in Android NDK (C++) — русскоговорящее сообщество
Всем привет 🖐️
источник

S

Saidash Khusainov in Android NDK (C++) — русскоговорящее сообщество
Тут есть кто из Казани?
источник
2018 November 03

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Saidash Khusainov
Тут есть кто из Казани?
Привет. Есть родом из Казани, проживающий в Иннополисе :)
источник
2018 November 06

A

Alexey in Android NDK (C++) — русскоговорящее сообщество
Парни, снова упёрся в стену. Напомню, мучаю проект в android studio, в котором в качестве зависимости хочу использовать библиотеку acrosync. В свою очередь, эта библиотека зависит от libssh2 и openssl. На данный момент мне удалось собрать openssl, libssh2 и саму acrosync для 32-разрядных процессоров (пока забудем про 64-разрядные). Пытаюсь подключить все эти собранные *.a к android-проекту. Вроде бы, всё успешно, но android studio почему-то не принимает include'ы.

target_include_directories(acrosync-lib PRIVATE
       ${distribution_DIR}/gmath/include
       ${distribution_DIR}/gperf/include
       ${distribution_DIR}/acrosync/include
       ${dependencies_DIR}/libssh2/include
       ${dependencies_DIR}/openssl/include
       )

include_directories(${CMAKE_CURRENT_SOURCE_DIR} "${dependencies_DIR}/openssl/include" "${dependencies_DIR}/libssh2/include")

в CMakeLists
источник

A

Alexey in Android NDK (C++) — русскоговорящее сообщество
вместо нормального include'a студия предлагает изврат какой-то
источник

A

Alexey in Android NDK (C++) — русскоговорящее сообщество
#include "libssh2.h"
#include "../../../../dependencies/libssh2/include/libssh2.h"
источник

A

Alexey in Android NDK (C++) — русскоговорящее сообщество
а второй заголовочный файл вообще отказывается признавать
источник

A

Alexey in Android NDK (C++) — русскоговорящее сообщество
находятся файлы в "../../../../dependencies/openssl/include/.....*.h"
источник