2015-04-22 64 views
2

我正在嘗試將Groovy用於Android項目,而我的第一項任務是獲得全局擴展。Android中的Groovy擴展模塊?

智能感知作品和彙編的東西很好,但我得到一個運行時異常,當它遇到我的方法

groovy.lang.MissingMethodException:法無簽名

我有擴展類列在擴展文件中。

需要做什麼來確保擴展在運行時被註冊和使用?

編輯:嚴重的是,無論誰投票否決 - 這是什麼文件?這並不像我沒有花費數小時來試圖解決這個問題。

+0

首先查看運行時異常中的信息。另請參閱有關在Android上運行Groovy的文檔,例如要包含在構建的APK中的jar文件。 – Jerry101

+0

運行時異常是使用groovy語言方法查找的。 '使用'塊可以正常工作,但我想要一個「全局使用塊」。所有這些文件都非常非常薄。 – xtravar

+0

https://www.google.com/search?q=groovy%20on%20android找到大量文檔,其中包括Groovy 2.4發佈說明http://docs.codehaus.org/display/GROOVY/Groovy+2.4+release+筆記,Android支持groovyc參考http://docs.groovy-lang.org/docs/next/html/documentation/tools-groovyc.html#section-android和gradle插件https://github.com/groovy/groovy-android-gradle-plugin。他們有很大的差距嗎? – Jerry101

回答

-1

這個項目似乎已經成功做到了: SwissKnife on Github

它針對的是Android的庫構建的gradle使用。我會嘗試使用這些gradle構建腳本作爲模板。

的鍵註冊到Groovy的運行時的延伸是在庫

org.codehaus.groovy.runtime.ExtensionModule

溫特META-INF /服務的存在。

在SwissKnife子項目中,它位於src/main/resources目錄中。這遵循Gradle Groovy/Android插件使用的標準慣例。

+0

「META-INF /圖書館服務」 - 圖書館在哪裏?你自己試過這個嗎? –