2013-08-08 2 views
0

ActionBarSherlock 및 Facebook SDK 3.0.2를 사용하는 앱이 있습니다. ActionBarSherlock을 가져 와서 내 앱에서 구현 한 후에 이러한 문제가 발생했습니다. 먼저 android_support_v4 라이브러리가 충돌합니다. 그런 다음 제거하고 하나의 jar 파일 만 가리 킵니다. 내 앱이 설치되었습니다. 두 번째 앱이 ABS를 포함하는 MainActivity를 실행하면, 응용 프로그램은 가까운 강제가 오류 : java.lang.NoClassDefFoundError가 : android.support.v4.app.FragmentActivity 여기에 문제가 무엇 해결 방법 : java.lang.NoClassDefFoundError : android.support.v4.app.FragmentActivity

:

package vn.com.onesoft.bigvl.main.activity; 

import java.util.ArrayList; 

import vn.bigone.main.MainActivity; 
import vn.com.onesoft.bigvl.R; 
import vn.com.onesoft.bigvl.chat.ChatActivity; 
import vn.com.onesoft.bigvl.context.GameContext; 
import vn.com.onesoft.bigvl.gps.GPSTracker; 
import vn.com.onesoft.bigvl.main.ui.ActionManager; 
import vn.com.onesoft.bigvl.main.ui.BigVLListViewAdapter; 
import vn.com.onesoft.bigvl.main.ui.BigVLListViewItem; 
import vn.com.onesoft.bigvl.main.ui.IListViewItem; 
import vn.com.onesoft.bigvl.message.MessageSender; 
import vn.com.onesoft.bigvl.message.out.MGetContactListReq; 
import vn.com.onesoft.bigvl.message.out.MVLGetFollowListReq; 
import vn.com.onesoft.bigvl.message.out.MVLGetFriendListInMobileContactReq; 
import vn.com.onesoft.bigvl.message.out.MVLListGameReq; 
import vn.com.onesoft.bigvl.message.out.MVLUpdateLocationReq;  
import android.annotation.SuppressLint; 
import android.content.Intent; 
import android.os.Bundle; 
import android.support.v4.app.FragmentTransaction; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ListView; 
import android.widget.Toast; 

import com.actionbarsherlock.app.ActionBar; 
import com.actionbarsherlock.app.ActionBar.Tab; 
import com.actionbarsherlock.app.SherlockActivity; 

@SuppressLint("ShowToast") 
public class ActivityMain extends SherlockActivity implements ActionBar.TabListener { 

@Override 
protected void onResume() { 
    // 
    super.onResume(); 
    GameContext.activity = this; 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.bvl_activity_main); 
    GameContext.activity = this; 

    this.getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    // TODO tab1 
    ActionBar.Tab tab1 = getSupportActionBar().newTab(); 
    tab1.setText("Kết nối"); 
    tab1.setIcon(R.drawable.ket_noi); 
    tab1.setTabListener(this); 
    getSupportActionBar().addTab(tab1); 
    // TODO tab2 
    ActionBar.Tab tab2 = getSupportActionBar().newTab(); 
    tab2.setText("Kết nối"); 
    tab2.setIcon(R.drawable.chat); 
    tab2.setTabListener(this); 
    getSupportActionBar().addTab(tab2); 
    // TODO tab3 
    ActionBar.Tab tab3 = getSupportActionBar().newTab(); 
    tab3.setText("Kết nối"); 
    tab3.setIcon(R.drawable.game); 
    tab3.setTabListener(this); 
    getSupportActionBar().addTab(tab3); 
    // TODO tab4 
    ActionBar.Tab tab4 = getSupportActionBar().newTab(); 
    tab4.setText("Kết nối"); 
    tab4.setIcon(R.drawable.blog); 
    tab4.setTabListener(this); 
    getSupportActionBar().addTab(tab4); 

    final ListView listview = (ListView) findViewById(R.id.listViewConnectivityFriends); 
    listview.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      // 
      BigVLListViewAdapter lvAdapter = (BigVLListViewAdapter) parent 
        .getAdapter(); 
      BigVLListViewItem item = (BigVLListViewItem) lvAdapter 
        .getItem(position); 
      item.getLvAction().onClick(); 
     } 
    }); 

    ArrayList<BigVLListViewItem> lvItems = new ArrayList<BigVLListViewItem>(); 

    lvItems.add(new BigVLListViewItem(R.drawable.danh_ba, "Danh bạ", 
      new IListViewItem() { 

       @Override 
       public void onClick() { 
        MVLGetFriendListInMobileContactReq mobileContactReq = new MVLGetFriendListInMobileContactReq(); 
        MessageSender.sendMessage(mobileContactReq); 
       } 
      })); 
    lvItems.add(new BigVLListViewItem(R.drawable.danh_sach_ban, 
      "Danh sách bạn", new IListViewItem() { 

       @Override 
       public void onClick() { 
        // 
        Intent intent = new Intent(GameContext.activity, 
          MainActivity.class); 
        GameContext.activity.startActivity(intent); 
       } 
      })); 

    lvItems.add(new BigVLListViewItem(R.drawable.theo_doi_ban, 
      "Danh sách theo dõi", new IListViewItem() { 

       @Override 
       public void onClick() { 
        // TODO Auto-generated method stub 
        MVLGetFollowListReq mvlGetFollowListReq = new MVLGetFollowListReq(
          0); 
        MessageSender.sendMessage(mvlGetFollowListReq); 
       } 
      })); 

    lvItems.add(new BigVLListViewItem(R.drawable.ket_noi, 
      "Yêu cầu kết bạn", new IListViewItem() { 

       @Override 
       public void onClick() { 
        // TODO Auto-generated method stub 

       } 
      })); 

    final ListView listview2 = (ListView) findViewById(R.id.listViewConnectivitySearch); 
    listview2.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      // 
      BigVLListViewAdapter lvAdapter = (BigVLListViewAdapter) parent 
        .getAdapter(); 
      BigVLListViewItem item = (BigVLListViewItem) lvAdapter 
        .getItem(position); 
      item.getLvAction().onClick(); 
     } 
    }); 
    ArrayList<BigVLListViewItem> lvItem2s = new ArrayList<BigVLListViewItem>(); 

    lvItem2s.add(new BigVLListViewItem(R.drawable.tim_kiem, 
      "Tìm quanh đây", new IListViewItem() { 

       @Override 
       public void onClick() { 
        GPSTracker gps = new GPSTracker(GameContext.activity); 
        MVLUpdateLocationReq mvlUpdateLocationReq = new MVLUpdateLocationReq(
          gps.getLatitude(), gps.getLongitude()); 
        MessageSender.sendMessage(mvlUpdateLocationReq); 
       } 
      })); 

    listview.setAdapter(new BigVLListViewAdapter(lvItems)); 

    listview2.setAdapter(new BigVLListViewAdapter(lvItem2s)); 
} 

@Override 
public void onTabSelected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 
    switch (tab.getPosition()) { 
    case 0: 
     ActionManager.showAction(ActionManager.ACTION_KET_NOI); 
     MGetContactListReq mGetContactListReq = new MGetContactListReq(
       0); 
     MessageSender.sendMessage(mGetContactListReq); 
     break; 

    case 1: 
     ActionManager.showAction(ActionManager.ACTION_CHAT); 
     Intent intent = new Intent(
       GameContext.activity.getApplicationContext(), 
       ChatActivity.class); 
     startActivity(intent); 
     Toast.makeText(GameContext.activity, "Request sent", 1).show(); 
     break; 
    case 2: 
     ActionManager.showAction(ActionManager.ACTION_GAMES); 
     MVLListGameReq mListGameReq = new MVLListGameReq(); 
     MessageSender.sendMessage(mListGameReq); 
     break; 
    case 3: 

     break; 

    default: 
     break; 
    } 
} 

@Override 
public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 

} 

} 
+0

일식이나 안드로이드 스튜디오 : 이 질문의 단계별 튜토리얼은 나에게 도움이? sdk의 새 버전은 librabries 가져 오기에 약간의 문제가 있습니다. 여기에 문제가있어. – bofredo

+0

최신 ADT 번들 버전을 사용하고 있습니다. android_support_v4, 내 휴대 전화가 안드로이드에서 실행됩니다. 4.1.1 –

답변

0

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 빌드 경로 구성 빌드 순서 및 내보내기 탭을 클릭하십시오.

"Android 개인 라이브러리"에 내보내기가 선택되어 있는지 확인하십시오.

libs/폴더에서 라이브러리를 추가 한 경우 "개인 비공개 라이브러리"섹션에 자동으로 추가되므로 제거하십시오.

또는이 시도 : 나는 항아리를 포함하려고 할 때 Libraries do not get added to APK anymore after upgrade to ADT 22

+0

이 오류의 원인을 알려주세요. java.lang.NoClassDefFoundError : android.support.v4.app.FragmentActivity 다른 사람들이있는 동안 왜로드되지 않습니까? –

+0

sdk를 새 버전으로 업데이트 할 때 프로젝트에 libs를 구성/첨부하지 않았으므로 수동으로해야합니다. –

관련 문제