0
我們的Android項目包含一些本地庫,我們僅支持arbeabi-v7
。所以生成的apk只包含這個體系結構的本地庫。RenderScript包含所有平臺的本機二進制文件
最近我們增加了RenderScript
引起生成APK包括librsjni.so
和libRSSuport.so
本地的即x86
所有支持的平臺,arbeabi-v7
等
的build.gradle
文件的更改添加RenderScript
是:
defaultConfig {
// Other configs
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
}
生成的apk庫文件夾如下所示:
libs
- armeabi-v7
- librsjni.so
- libRSSuport.so
- Other native libs
- x86
- librsjni.so
- libRSSuport.so
- Other archs
- librsjni.so
- libRSSuport.so
由於運行時間可能認爲非支持armeabi-v7
體系結構並嘗試運行它並導致應用程序崩潰,這會導致主要abi不是armeabi-v7
的手機中出現問題。
截至目前,我們已經增加了以下內容build.gradle
:
ndk {
abiFilters "armeabi-v7a"
}
和gradle.properties
:
android.useDeprecatedNdk=true
雖然此方法可以解決問題,但它似乎是一個黑客或非標準的解決方案。
有沒有一種標準或推薦的方法來解決這個問題?
恕我直言,** ** abiFilters是你的問題一個完美的標準溶液。 –
@AlexCohn感謝您的回覆。我所關心的是使用'android.useDeprecatedNdk'。有沒有一種方法可以排除「non depricated ndk」的庫? – Abdullah