Android: copiando archivos de un directorio a otro

Estoy trabajando para copiar un archivo (el archivo de audio temporal) de la carpeta de origen a la carpeta de destino como TT_1A usando el siguiente código con el uso de la biblioteca de apache commons.

Código:
button1_save.setOnClickListener(new OnClickListener() 
    {
        public void onClick(View v) 
        {
            String sourcePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/TT/tt_temp.3gp";
            File source = new File(sourcePath);

            String descPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/TT/tt_1A.3gp";
            File desc = new File(descPath);
            try 
            {
                FileUtils.copyDirectory(source, desc);
            } 
            catch (IOException e) 
            {
                e.printStackTrace();
            }
        }
    }); 
Apache Commons:

http://commons.apache.org/proper/commons-io/download_io.cgi

Pregunta:

He usado elFileUtils funciona para copiar el archivo temporal y pegarlo en la carpeta desc como TT_1A. Sin embargo, logcat informa de un error con los siguientes detalles:

10-17 00:41:04.260: E/AndroidRuntime(27450): FATAL EXCEPTION: main
10-17 00:41:04.260: E/AndroidRuntime(27450): java.lang.NoClassDefFoundError: org.apache.commons.io.FileUtils
10-17 00:41:04.260: E/AndroidRuntime(27450):    at com.abc.abc.TT_details_canton$14.onClick(TT_details_canton.java:575)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at android.view.View.performClick(View.java:4223)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at android.view.View$PerformClick.run(View.java:17275)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at android.os.Handler.handleCallback(Handler.java:615)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at android.os.Handler.dispatchMessage(Handler.java:92)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at android.os.Looper.loop(Looper.java:137)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at android.app.ActivityThread.main(ActivityThread.java:4898)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at java.lang.reflect.Method.invokeNative(Native Method)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at java.lang.reflect.Method.invoke(Method.java:511)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
10-17 00:41:04.260: E/AndroidRuntime(27450):    at dalvik.system.NativeStart.main(Native Method)

Me he quedado con esto durante toda la noche. ¿Hay formas de copiar archivos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta