2012-05-17 3 views
1

Я получаю java.lang.NoClassDefFoundError, когда пытаюсь запустить свою новую деятельность. Ниже мой AndroidManifest.xml:Android java.lang.NoClassDefFoundError при запуске новой активности

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

    <uses-sdk android:minSdkVersion="15" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 

      <activity 
       android:name=".LoginActivity" 
       android:label="Login to your Account"> 
       <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
        <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".RegisterActivity" 
      android:label="Register New Account"> 
     </activity> 

     <activity 
      android:name=".GoogleMapsActivity" 
      android:label="Google Maps"> 
     </activity> 

     <uses-library android:name="com.google.android.maps"/> 

    </application> 

</manifest> 

Код для GoogleMapsActivity.java

package com.practice.googlemaps; 

import android.os.Bundle; 

import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapView; 

public class GoogleMapsActivity extends MapActivity { 

    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    MapView mapView = (MapView)findViewById(R.id.mapView); 
    mapView.setBuiltInZoomControls(true); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     // TODO Auto-generated method stub 
     return false; 
    } 
} 

И следующее линии я использую для запуска нового вида деятельности:

Intent i = new Intent(getApplicationContext(), GoogleMapsActivity.class); 
startActivity(i); 

I проверили мой класс GoogleMapsActivity.java, файл присутствует и все написано/написано.

Я подозреваю, что ошибка может быть вызвана моим AndroidManifest.xml, но я не могу найти проблему.

Может ли кто-нибудь указать мне в правильном направлении?

+0

Показать код для GoogleMapsActivity. Это в правильном пакете? – Falmarri

+0

@Falmarri, обновленный с кодом для GoogleMapsActivity.java. В настоящее время у меня есть только один пакет, чтобы все было просто. GoogleMapsActivity.java работает, потому что, если я только начал эту деятельность, у меня нет проблем. – czchlong

ответ

3

Убедитесь, что <uses-library android:name="com.google.android.maps"/> находится в нужном месте.

+0

Я отправил свой AndroidManifest.xml, я не уверен, но это место? – czchlong

+0

Да, но попробуйте очистить проект. Вкладка проекта-> очистить-> выберите проект и очистите. Иногда ваши файлы xml не могут быть скомпилированы, когда вы автоматически выбираете сборку. – Tugrul

1

вам определенно не хватает, чтобы добавить один файл jar, чтобы показать ошибку Noclassdeffound . и если у вас добавлен весь файл jar, даже тогда эта ошибка возникает, тогда я даю вам один лучший ответ, который определенно работает. просто создайте папку libs в проекте ur и добавьте весь файл jar в папку libs, и ваша проблема определенно решится.

+0

У меня был второй класс, который требовал банку. Я проверил папку libs и обнаружил, что этот банкомат не был скопирован в папку libs. Поэтому всякий раз, когда я пытался запустить это второе действие, он дал мне NoClassDefFoundError. Просто скопировал банку в папку libs, и проблема была решена. –

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