dest_dir=~/workspace/src-tree
for d in $(find -path .repo -prune \
-or -path "*/src/com/*" -type d -print \
-or -path "*/src/org/*" -type d -print \
-or -path "*/java/com/*" -type d -print \
-or -path "*/java/org/*" -type d -print \
-or -path "*/java/android/*" -type d -print \
-or -path "*/java/javax/*" -type d -print)
sd=$(echo $d | sed 's#.*/src/\(.*\)/#\1/#g' | sed 's#.*/java/\(.*\)/#\1/#g')
for f in $(cd $d; find . -mindepth 0 -maxdepth 1 -type f | sed 's#^./##g'); do
ln -s $curr_dir/$d/$f $dest_dir/$sd/$f