2011-08-29 39 views
0

我有一個android應用程序,用戶應該可以使用腳本進行擴展。無論如何,這是計劃。用戶可以編寫保存在閃存文件夾中的腳本,並通過應用程序中的菜單進行訪問。腳本根據應用程序中的某些事件加載並調用。應用程序將幫助程序方法和對象暴露在腳本的上下文中,以便以受控方式在應用程序中使用功能。將腳本添加到Android應用程序

因此,我的要求是:

  • 低磁盤/內存佔用
  • 快速啓動
  • 的Android兼容
  • 合理的解析/錯誤報告
  • 簡單的,理智的語法最好是方言流行語言,例如基本,JS,Python等
  • 語言必須支持數組,關聯數組,雙精度浮點數,字符串操作。它不需要網絡訪問或其他許多。
  • 清潔負荷&卸載腳本的
  • 的東西,可以容納一個事件驅動模型
  • 安全/沙箱模型,防止腳本做的事情超出了API的我接觸到他們
  • 超時/錯誤處理,所以我可以殺腳本它們花費的時間太長或者陷入循環中(所以人們不會因爲腳本的錯誤而低估我的應用程序)。

我看過犀牛和Jython之類的東西,我覺得他們會爲我的目的施加太大的開銷。我也懷疑他們可能很難進入我記住的有限安全模型(例如,Rhino默認公開所有Java類,並且這必須被破解)。

人們會給出什麼建議?

回答

0

看看SL4A project。我不確定它是否提供了你所需要的,但至少它是我開始的地方。

+0

感謝您的鏈接。 SL4A看起來更像是一個綁定層,可以將Android API暴露給腳本語言。因此,您可以從高級腳本語言編寫應用程序/創建應用程序。我之後從我的應用程序運行腳本運行時,並對其執行進行限制,因此只會觸及我公開的API。我已經看過犀牛,Beanshell,Jython和其他幾個人,他們看起來太大而且太寬容我想要的東西。 – locka