I know, that's a long title. However any shorter title would be a duplicate of the tons of other questions of this kind here on StackOverflow.
I am searching for a scripting language I could embed into my Android application. The user would write a script. Later on I trigger a specific function of this script and process its returned result. The triggering and processing should run without any console - like - gui just in the background while the user is viewing a beautiful android activity. This is what I would like to achieve. However I did not find a language for Android that suits my needs. It should be:

Easy (like Python, etc.)
Provide direct access to popular android/java methods (like sl4a does with the Android() module)
lightweight (as far as possible)
There must be a way to call the script (or if not possible, a function defined in the script) and get the returned value from Java
would be good, if the language had a good documentation

I found no language, which suits all my needs.
I found:

deelang - no built-in access to popular Android SDK methods and bad documentation
sl4a - I found no way to embed it directly into my app. I cant let the user download the sl4a app. I don't know whether I can get the result of a script and pass paramaters to it.
android-python27 - bad documentation, same as sl4a
rhino - does not provide built-ins to access popular Android SDK methods
androlua - bad documentation, I don't know whether it provides built-in access to the Android SDK

Is there really no language available that suits my needs? Wouldn't we need a language like it which is easy to embed?
I finally found a project which fits to my needs: BeanShell (beanshell.org) .
It is Java-like but more easy. It has direct access to Java libraries and sharing variables between the host app and the script is very easy. It is lightweight. It is quiet popular and has a good documentation (even for android purposes)
Embeddable Easy Lightweight Scripting Language with direct bindings to java for Android