на 2.3.3 сборка работает хорошо, однако после обновления на 3.0.0 возникла эта проблема. Есть ли кто-нибудь, кто может мне помочь? Причина в том, что libSDL2.so не создается, однако я не понимаю, почему модуль SDLActivity начинает собираться до завершения сборки SDL2-android-studio.
Я думаю, что модуль SDLActivity начнет собираться после завершения задания сборки для модуля SDL2-android-studio. На самом деле на 2.3.3 заработало. Но на 3.0.0 этого нет. То есть на 2.3.3 задача externaNativeBuildRelease SDLActivity запускается после завершения задачи SDL-android-studio. на 3.0.0 после задачи transformClassesAndResourcesWithPrepareIntermediateJasrForDebug из SDL-android-stduio-studio обрабатываются все SDLActivity. Как контролировать зависимость между задачами?
Заранее спасибо.
И build.gradle для SDLActivity выглядит следующим образом.
apply plugin: 'com.android.library'
android
{
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
minSdkVersion 21
targetSdkVersion 21
versionCode 1
versionName "1.0"
ndk {
abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a'
}
externalNativeBuild {
cmake {
arguments '-DANDROID_TOOLCHAIN=clang'
}
}
}
externalNativeBuild {
cmake {
path 'android-cmake/CMakeLists.txt'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
debug {
jniDebuggable true
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}
на 3.0.0 сборка не удалась
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
minSdkVersion 21
targetSdkVersion 21
versionCode 1
versionName "1.0"
ndk {
abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a'
}
externalNativeBuild {
cmake {
arguments '-DANDROID_TOOLCHAIN=clang',
'-DANDROID_PLATFORM=android-21'
cppFlags "-std=c++11"
}
}
}
externalNativeBuild {
cmake {
path 'CMakeLists.txt'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
jniDebuggable true
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
androidTestCompile 'junit:junit:4.12'
testCompile 'junit:junit:4.12'
compile project(':SDL2-android-studio')
compile project(':libtciplayer')
compile project(':TciSdk')
compile project(':soundtouch')
}
Но, на 2.3.3 сборка проходит успешно
Выполнение задач: [:SDLActivity:generateReleaseSources, :SDLActivity:mockableAndroidJar, :SDLActivity:compileReleaseUnitTestSources, :SDLActivity:compileReleaseSources]
...
: SDLActivity: preReleaseUnitTestBuild UP-TO-DATE: SDLActivity: javaPreCompileReleaseUnitTest: SDLActivity: compileReleaseUnitTestJavaWithJavac: SDLActivity: processReleaseJavaRes NO-ИСТОЧНИК: SDLActivity: processReleaseUnitTestJavaRes NO-ИСТОЧНИК: SDLActivity: compileReleaseUnitTestSources: SDLActivity: generateJsonModelRelease: SDLActivity: externalNativeBuildRelease Построить главный arm64-V8A Ниндзя: ошибка: '../../../../../distribution/SDL2/lib/arm64-v8a/libSDL2.so', требуется для 'D:/corelab_proj/GearToTciPlayer2/distribution/main/lib/arm64 -v8a/libmain.so', отсутствует и неизвестное правило, чтобы сделать его :SDLActivity:externalNativeBuildRelease FAILED
ОШИБКА: сборка не удалась с исключением.
- Я решил эту проблему, ссылаясь на это, https://github.com/googlesamples/android-ndk/issues/450
Попробуйте: запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше выходных данных журнала.
Получите дополнительную помощь на странице https://help.gradle.org.
ПОСТРОЙКА НЕ ПРОШЛА через 13 с.
69 практических задач: 19 выполнены, 50 обновлены
#P7# <блочная цитата> #P8# блочная цитата>
Выполнение задач: [:SDLActivity:generateReleaseSources, :SDLActivity:prepareReleaseUnitTestDependencies, :SDLActivity:mockableAndroidJar, :SDLActivity:compileReleaseUnitTestSources, :SDLActivity:compileReleaseSources]
: SDLActivity: incrementalReleaseUnitTestJavaCompilationSafeguard NO-ИСТОЧНИК: SDLActivity: javaPreCompileReleaseUnitTest: SDLActivity: compileReleaseUnitTestJavaWithJavac: SDLActivity: processReleaseJavaRes NO-ИСТОЧНИК: SDLActivity: processReleaseUnitTestJavaRes NO-ИСТОЧНИК: SDLActivity: compileReleaseUnitTestSources: SDLActivity: generateJsonModelRelease: SDLActivity: externalNativeBuildRelease [1/10] Строительство CXX объект CMakeFiles /main.dir/src/cpp/SDLAudioImpl.cpp.o ... [10/10] Связывание общей библиотеки CXX D:\corelab_proj\GearToTciPlayer2\dist ribution\main\lib\armeabi-v7a\libmain.so :SDLActivity : compileReleaseSources
ПОСТРОИТЬ УСПЕШНО за 1 мин 38 с 133 практических задачи: 77 выполнены, 56 обновлены
build.gradle для модуля SDL2 выглядит следующим образом.