Closed dsp2000 closed 4 years ago
error: avutil: no archive symbol table (run ranlib)
自己看下错误信息,不是很明了么 提供的libavutil.a不对 跟xmake没有关系
它也提示了 尝试用ndk里面的ranlib对libavutil.a更新下符号表 如果还是不行 那就是你的库给的有问
ndk { 'arm64-v8a' } 我使用arm64-v8a,为什么选择了armeabi-v7a来编译?
Task :app:xmakeConfigureForArmv7
xmake f -y -v -p android -a armeabi-v7a --ndk=E:\Android\sdk\ndk\21.0.6113669 --buildir=D:\ktv\TestXmake\app\build\xmake checking for the Android SDK directory ... E:\Android\sdk checking for the Build Tools Version of Android SDK ... 28.0.3 checking for the NDK directory ... E:\Android\sdk\ndk\21.0.6113669 checking for the SDK version of NDK ... 21 checking for the toolchains version of NDK ... 4.9
请贴下你用的xmake-gradle插件版本 低版本不支持从 ndk.abifilters取,只支持从xmake.abifilters取
externalNativeBuild {
xmake {
// set abi filters (optional), e.g. armeabi, armeabi-v7a, arm64-v8a, x86, x86_64
// we can also get abiFilters from defaultConfig.ndk.abiFilters
abiFilters "armeabi-v7a", "arm64-v8a"
}
plugins { id 'org.tboox.gradle-xmake-plugin' version '1.1.0' }
那你贴下完整的build.gradle配置,你最上面的截图是abi三个都在的
后来贴的写法也不对,没有abifilters,另外是否放在defaultconfig里面
ndk {
'arm64-v8a'
}
plugins { id 'org.tboox.gradle-xmake-plugin' version '1.1.0' }
apply plugin: 'com.android.application'
android { compileSdkVersion 28
defaultConfig {
applicationId "com.example.testxmake"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
// cmake { // cppFlags "" // }
}
// 设置支持的SO库架构
// abiFilters 'arm64-v8a' // abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86' ndk { 'arm64-v8a' } }
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
xmake {
path "src/main/cpp/xmake.lua"
logLevel "verbose"
}
// buildMode "asan" // cmake { // path "src/main/cpp/CMakeLists.txt" // version "3.10.2" // } } }
之前出问题,我以为是v7a的问题。结果发现是v8a的问题
ndk { 'arm64-v8a' }
看你写的 都没写对,没abiFilters
ndk { abiFilters 'arm64-v8a' }
这个是xmake-gradle项目的使用问题,请到这里反馈,我迁过来了
ndk { abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86' } 编译通过了,谢谢。
描述问题详情
请在这描述你的问题详情。
xmake.lua add_rules("mode.debug", "mode.release") target("native-lib") set_kind("shared") set_languages("c99", "cxx11") add_includedirs("include") add_linkdirs("libs/$(arch)") add_links("avutil"); add_files("native-lib.cpp") add_syslinks("log", "z")
FAILURE: Build failed with an exception.
What went wrong: Execution failed for task ':app:xmakeBuildForArmv7'.
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 6s 4 actionable tasks: 4 executed