問題發生起因:換電腦(換到Mac-Mini-Apple M1)上
項目相關配置版本:
ext {
// Sdk and tools
compileSdkVersion = 30
minSdkVersion = 23
targetSdkVersion = 29
// App dependencies
kotlin_version = '1.5.30'
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
還有個Gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
錯誤內容:
Execution failed for task ':UmeLibrary:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
根據下面的提示,我打印出具體錯誤:
# [Caused by: java.lang.Exception: No native library is found for os.name=Mac and os.arch=aarch64\. path=/org/sqlite/native/Mac/aarch64](https://stackoverflow.com/questions/68884589/caused-by-java-lang-exception-no-native-library-is-found-for-os-name-mac-and-o)
這個錯誤的意思大概是因為因為sqlite的jar包不適配arm 也就是Mac m1,所以解決方案是換jdk,我使用的AndroidStudio,于是我使用[command+;]打開image.png
從中選擇
image.png
點擊確認,一步步解決我標題報出來的錯誤問題了。
這個錯誤我找了整整一天,最后感謝StackOverflow上的一位外國網友提供的建議。
如果你使用的是Kotlin依賴,千萬不要相信網上直接把kapt換成annotationProcessor
這樣是解決不了問題的,如下(錯誤示范):
kapt "androidx.room:room-compiler:${rootProject.room_version}"
轉成
annotationProcessor "androidx.room:room-compiler:${rootProject.room_version}"