2014-08-21 2 views
1

Я получаю java.lang.NoClassDefFoundError на Runtime.It указывает линию Intent inHome = new Intent(MenuActivity.this,HomeActivity.class); .Я не знаю, как решить эту проблему.java.lang.NoClassDefFoundError в MenuActivity.java

StackTrace:

E/AndroidRuntime(931): FATAL EXCEPTION: main 
E/AndroidRuntime(931): Process: com.loco.android, PID: 931 
E/AndroidRuntime(931): java.lang.NoClassDefFoundError: com.sit.loco.activity.HomeActivity 
E/AndroidRuntime(931):  at com.sit.loco.activity.MenuActivity$3.onItemClick(MenuActivity.java:162) 
E/AndroidRuntime(931):  at android.widget.AdapterView.performItemClick(AdapterView.java:299) 
E/AndroidRuntime(931):  at android.widget.AbsListView.performItemClick(AbsListView.java:1113) 
E/AndroidRuntime(931):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904) 
E/AndroidRuntime(931):  at android.widget.AbsListView$3.run(AbsListView.java:3638) 
E/AndroidRuntime(931):  at android.os.Handler.handleCallback(Handler.java:733) 
E/AndroidRuntime(931):  at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5017) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)       
    at dalvik.system.NativeStart.main(Native Method) 

MenuActivity.java:

package com.sit.loco.activity; 

    private Spinner spinner; 
    private AppData appData; 
    protected String language; 
    private ArrayList<String> arraylist_language; 
    private GridView gridView; 
    private GridviewAdapter mAdapter; 

    private ArrayList<Integer> listFlag; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_menu); 

     appData = new AppData(getApplicationContext()); 
     prepareList(); 
     addListenerOnUi(); 

     private void addListenerOnUi() { 


     // prepared arraylist and passed it to the Adapter class 
     mAdapter = new GridviewAdapter(this, listFlag); 

     gridView = (GridView) findViewById(R.id.gridView1); 
     gridView.setAdapter(mAdapter); 

     gridView.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, 
      int position, long arg3) { 

     Intent inHome = new Intent(MenuActivity.this,HomeActivity.class);--->Error 

       inHome.putExtra("position", position); 
       startActivity(inHome); 
      } 
     }); 
    } 
} 

HomeActivity.java:

package com.sit.loco.activity; 

public class HomeActivity extends FragmentActivity 
     implements 
     VideoListFragment.DownLoadSelectedListner, 

     CategoryFragment.OnCategorySelectedListener 
    { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     position = getIntent().getExtras().getInt("position"); 
    tab = actionabar.newTab().setText(getString(R.string.str_audio)) 
       .setTabListener(tabListener); 
     if (position == 0) { 
      actionabar.addTab(tab, 0, true); 
     } else { 
      actionabar.addTab(tab, 0, false); 
     } 


     tab = actionabar.newTab().setText(getString(R.string.str_settings)) 
       .setTabListener(tabListener); 
     if (position == 1) { 
      actionabar.addTab(tab, 1, true); 
     } else { 
      actionabar.addTab(tab, 1, false); 
     } 

     tab = actionabar.newTab() 
       .setText(getString(R.string.str_prayer_request)) 
       .setTabListener(tabListener); 
     if (position == 2) { 
      actionabar.addTab(tab, 2, true); 
     } else { 
      actionabar.addTab(tab, 2, false); 
     } 

     tab = actionabar.newTab().setText(getString(R.string.str_gal)) 
       .setTabListener(tabListener); 
     if (position == 3) { 
      actionabar.addTab(tab, 3, true); 
     } else { 
      actionabar.addTab(tab, 3, false); 
     } 

     tab = actionabar.newTab().setText(getString(R.string.str_youtube)) 
       .setTabListener(tabListener); 
     if (position == 4) { 
      actionabar.addTab(tab, 4, true); 
     } else { 
      actionabar.addTab(tab, 4, false); 
     } 

     tab = actionabar.newTab().setText(getString(R.string.str_contact)) 
       .setTabListener(tabListener); 
     if (position == 5) { 
      actionabar.addTab(tab, 5, true); 
     } else { 
      actionabar.addTab(tab, 5, false); 
     } 

    } 
    } 

Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.loco.android" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="19" /> 
    <application 
     android:name="com.sit.loco.app.GemsApplication" 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.sit.loco.activity.SplashActivity" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity android:name="com.sit.loco.activity.MenuActivity" > 
     </activity> 

     <activity android:name="com.sit.loco.activity.HomeActivity" > 
     </activity> 
     <!-- Parent activity meta-data to support 4.0 and lower --> 
     <activity android:name="com.sit.loco.activity.GalleryActivity" > 
     </activity> 


     <activity android:name="com.sit.loco.activity.AnnouncementActivity" > 
     </activity> 
     <activity android:name="com.sit.loco.activity.BlogActivity" > 
     </activity> 

     <activity android:name="com.sit.loco.activity.DownloadActivity" > 
     </activity> 

      <activity android:name="com.sit.loco.activity.VideoActivity" > 
     </activity> 

     <activity android:name="com.sit.loco.activity.PlayerActivity" > 
     </activity> 


     <!-- for admob, do not change this --> 
     <activity android:name="com.google.ads.AdActivity" 
       android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 

    </application> 

</manifest> 

я не знаю, как решить this.Anybody может помочь мне с this.Thank вас.

+0

Вы используете proguard? Если да, то ваш файл 'proguard.cfg' исключает действия из его обработки? –

+0

@ Orabîg no.I не использовал это –

+0

http://docs.oracle.com/javase/7/docs/api/java/lang/NoClassDefFoundError.html – Gattsu

ответ

0

GO TO: -

Project> Properties> Java Построить Path> Заказать & Экспорт и проверить, если все библиотеки, что ваш проект с помощью проверяется или нет.

+0

@NarutoShupident Помогло ли это? –

+0

no amit мне не помогли. –

0

Может быть, потому, что класс MenuActivity.java не объявлен:

записи общественного класса HomeActivity расширяет активность {

перед тем

@Override защищен недействительным OnCreate (Bundle savedInstanceState) {

0

Под ярлыком манифеста ваш пакет

 package="com.loco.android" 

Но ваша пусковая деятельность имеет

 com.sit.loco. 

Можете ли вы expalin это ??

+0

В папке 'gen'' com.fth.android', тогда в пакете будет 'com.sit.loco.activity' thats it. –

+0

Но, насколько мне известно, имя пакета в гене должно быть таким же, как активность запуска. – DJhon

Смежные вопросы