xmake-gradle
xmake-gradle — это плагин Gradle, который легко интегрируется с xmake.
Если вы хотите узнать больше, пожалуйста, обратитесь к:
Необходимые условия
На системе должен быть установлен XMake. Его можно скачать здесь.
Применение плагина
plugins {
id 'org.tboox.gradle-xmake-plugin' version '1.2.0'
}
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'org.tboox:gradle-xmake-plugin:1.2.0'
}
repositories {
mavenCentral()
}
}
apply plugin: "org.tboox.gradle-xmake-plugin"
Конфигурация
Простейший пример:
Мы добавляем xmake.lua
в projectdir/jni/xmake.lua
и включаем xmake в build.gradle.
android {
externalNativeBuild {
xmake {
path "jni/xmake.lua"
}
}
}
Структура проекта JNI:
projectdir
- src
- main
- java
- jni
- xmake.lua
- *.cpp
xmake.lua
:
add_rules("mode.debug", "mode.release")
target("nativelib")
set_kind("shared")
add_files("nativelib.cc")
Более сложные конфигурации Gradle:
android {
defaultConfig {
externalNativeBuild {
xmake {
// добавляем глобальные cflags (необязательно)
cFlags "-DTEST"
// добавляем глобальные cppflags (необязательно)
cppFlags "-DTEST", "-DTEST2"
// переключаем режим сборки на `debug` для `xmake f -m debug` (необязательно)
buildMode "debug"
// устанавливаем фильтры abi (необязательно), например armeabi, armeabi-v7a, arm64-v8a, x86, x86_64
// мы также можем получить abiFilters из defaultConfig.ndk.abiFilters
abiFilters "armeabi-v7a", "arm64-v8a"
// задаём целевые объекты
//targets "xxx", "yyy"
}
}
}
externalNativeBuild {
xmake {
// включаем xmake и задаём путь к файлу проекта xmake.lua
path "jni/xmake.lua"
// разрешаем подробный вывод (необязательно), например verbose, normal
logLevel "verbose"
// задаём c++stl (необязательно), например c++_static/c++_shared
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )