private static final String MEDIA_PATH = new String("/sdcard/");
    private List<String> songs = new ArrayList<String>();
    private MediaPlayer mp = new MediaPlayer();
    private int currentPosition = 0;
  
 /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        updateSongList();
    }

 private void updateSongList() {
  // TODO Auto-generated method stub
  File home = new File(MEDIA_PATH);
  
  int num = home.listFiles(new Mp3Filter()).length;
  if(home.listFiles(new Mp3Filter()).length > 0) ///< error 이부분에서 오류가 납니다.
  {
   for(File file : home.listFiles(new Mp3Filter()))
   {
    songs.add(file.getName());
   }
   
   ArrayAdapter<String> songList = new ArrayAdapter<String>(this, R.layout.song_item, songs);
   setListAdapter(songList);
  }
 }

 @Override
 protected void onListItemClick(ListView l, View v, int position, long id) {
  // TODO Auto-generated method stub
  super.onListItemClick(l, v, position, id);
  
  currentPosition = position;
  playSong(MEDIA_PATH + songs.get(position));
 }
 
 private void playSong(String songPath)
 {
  try
  {
   mp.reset();
   mp.setDataSource(songPath);
   mp.prepare();
   mp.start();
   
   mp.setOnCompletionListener(new OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
     // TODO Auto-generated method stub
     nextSong();
    }
   });
  }
  catch(IOException e){;}
 }
 
 private void nextSong()
 {
  if(++currentPosition >= songs.size())
  {
   currentPosition = 0;
  }
  else
  {
   playSong(MEDIA_PATH + songs.get(currentPosition));
  }
 }
}

class Mp3Filter implements FilenameFilter
{
 @Override
 public boolean accept(File dir, String name) {
  // TODO Auto-generated method stub
  return (name.endsWith(".mp3"));
 }
}

제가 보기에 adv 로 실행 하면서 경로는 sdcard 인데 sdcard 가 존재 하지 않아 생기는 버그 같습니다.
절대경로로 지정 할 수 있는 방법 부탁 드립니다.