簡體   English   中英

Spring LibGDX And​​roid應用程序中缺少java.beans.Introspector

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM