Why does the collada exporter not export texture references?
Start with the default cube. Ensure you've created a material or use the default material already created. Assign a texture to it as a diffuse image, say "lava.png". The important point here is to assign your object texture via a material. There is another way to directly texture mesh faces without a material but you still need a default material to get the Collada export to recognise textures, so I suggest going with this approach. If you export as Collada format now, ensure you select "Include material textures" checkbox in the export options. This will produce something along the lines of following XML element in the export file:

&lt;library_images&gt;
    &lt;image id="lava_png" name="lava_png"&gt;
        &lt;init_from&gt;lava.png&lt;/init_from&gt;
    &lt;/image&gt;
&lt;/library_images&gt;


But the library effect element will look something like:

&lt;library_effects&gt;
    &lt;effect id="Material-effect"&gt;
        &lt;profile_COMMON&gt;
            &lt;technique sid="common"&gt;
                &lt;phong&gt;
                    &lt;emission&gt;
                        &lt;color sid="emission"&gt;0 0 0 1&lt;/color&gt;
                    &lt;/emission&gt;
                    &lt;ambient&gt;
                        &lt;color sid="ambient"&gt;0 0 0 1&lt;/color&gt;
                        &lt;/ambient&gt;
                    &lt;diffuse&gt;
                        &lt;color sid="diffuse"&gt;0.64 0.64 0.64 1&lt;/color&gt;
                    &lt;/diffuse&gt;
                    &lt;specular&gt;
                        &lt;color sid="specular"&gt;0.5 0.5 0.5 1&lt;/color&gt;
                    &lt;/specular&gt;
                    &lt;shininess&gt;
                        &lt;float sid="shininess"&gt;50&lt;/float&gt;
                    &lt;/shininess&gt;
                    &lt;index_of_refraction&gt;
                        &lt;float sid="index_of_refraction"&gt;1&lt;/float&gt;
                    &lt;/index_of_refraction&gt;
                &lt;/phong&gt;
            &lt;/technique&gt;
        &lt;extra&gt;
            &lt;technique profile="GOOGLEEARTH"&gt;
                &lt;double_sided&gt;1&lt;/double_sided&gt;
            &lt;/technique&gt;
        &lt;/extra&gt;
        &lt;/profile_COMMON&gt;
        &lt;extra&gt;
            &lt;technique profile="MAX3D"&gt;&lt;double_sided&gt;1&lt;/double_sided&gt;
            &lt;/technique&gt;
        &lt;/extra&gt;
    &lt;/effect&gt;
&lt;/library_effects&gt;


Note that the diffuse element defines a colour rather than an image reference. This means there's no 'link' in the Collada file between the lava.png and the diffuse component of the material associated with the mesh.

The missing step relates to the coordinate mapping technique used. Go to the texture panel for the lava.png and find the "Mapping" section. The coordinates entry is likely set to "generated". Change this to UV and export again with "Include material textures" and the diffuse entry will now reference "lava_png-sampler". 
Something like:

&lt;library_effects&gt;
    &lt;effect id="Material-effect"&gt;
        &lt;profile_COMMON&gt;
            &lt;newparam sid="lava_png-surface"&gt;
                &lt;surface type="2D"&gt;
                    &lt;init_from&gt;lava_png&lt;/init_from&gt;
                &lt;/surface&gt;
            &lt;/newparam&gt;
            &lt;newparam sid="lava_png-sampler"&gt;
                &lt;sampler2D&gt;
                    &lt;source&gt;lava_png-surface&lt;/source&gt;
                &lt;/sampler2D&gt;
            &lt;/newparam&gt;
            &lt;technique sid="common"&gt;
                &lt;phong&gt;
                    &lt;emission&gt;
                        &lt;color sid="emission"&gt;0 0 0 1&lt;/color&gt;
                    &lt;/emission&gt;
                    &lt;ambient&gt;
                         &lt;color sid="ambient"&gt;0 0 0 1&lt;/color&gt;
                    &lt;/ambient&gt;
                    &lt;diffuse&gt;
                        &lt;texture texture="lava_png-sampler"/&gt;
                    &lt;/diffuse&gt;
                    &lt;specular&gt;
                        &lt;color sid="specular"&gt;0.5 0.5 0.5 1&lt;/color&gt;
                    &lt;/specular&gt;
                    &lt;shininess&gt;
                        &lt;float sid="shininess"&gt;50&lt;/float&gt;
                    &lt;/shininess&gt;
                    &lt;index_of_refraction&gt;
                        &lt;float sid="index_of_refraction"&gt;1&lt;/float&gt;
                    &lt;/index_of_refraction&gt;
                &lt;/phong&gt;
            &lt;/technique&gt;
            &lt;extra&gt;
                &lt;technique profile="GOOGLEEARTH"&gt;
                    &lt;double_sided&gt;1&lt;/double_sided&gt;
                &lt;/technique&gt;
            &lt;/extra&gt;
        &lt;/profile_COMMON&gt;
        &lt;extra&gt;
            &lt;technique profile="MAX3D"&gt;&lt;double_sided&gt;1&lt;/double_sided&gt;
            &lt;/technique&gt; 
        &lt;/extra&gt;
    &lt;/effect&gt;
&lt;/library_effects&gt;


This should then import, with the texture intact, into whatever you're using, e.g. Assimp or a modelling package/viewer.

Hope this helps.