[英]Missing java.beans.Introspector in Spring LibGDX Android application
我正在嘗試運行基於LibGDX的Android應用程序,該應用程序是使用Spring Framework構建的(不是Android的Spring,而是純Spring)。 有一個例外:
ClassNotFoundException: Didn't find class "java.beans.Introspector"
據我所知,Android運行時不像常規JRE那樣具有功能齊全的java.beans包。
有沒有解決此問題的方法(可能是缺少類的3D派對jar)?
我無法更改包名稱,因為使用此Introspector的AnnotationBeanNameGenerator類是Spring-Context的一部分。
終於出現了,因為它使用CGLIB,所以無法在Android上運行正常的Spring(不是Android的Spring)。 CGLIB只能操縱Java字節碼,但是在Android上有一個特殊的Dalvik字節碼。
缺少java.beans
類的問題可以通過手動添加此類來解決(您可以使用一些開源JRE實現,例如Apache Harmony )並將--core-library
選項傳遞給dex。
如何傳遞--core-library
選項:
將以下內容放入Gradle Android插件配置的android
部分:
dexOptions {
preDexLibraries = false
}
並添加新參數:
tasks.withType(com.android.build.gradle.tasks.Dex) {
additionalParameters=['--core-library']
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.