まず第一に、私はこのトピックについてたくさんの質問/回答があることを知っています、私はそれらのほとんどを読みましたが、それでもエラーが発生します:
05-17 02:57:06.522: E/AndroidRuntime(17073): Java.lang.NoClassDefFoundError: ar.com.package.Android.MainActivity
Eclipseを21から22に更新するまで、プロジェクトは問題なく機能しました。
私はできる限りのことを試みました。マニフェストを確認しました。プロジェクトをクリーンアップしました。ビルドパスを確認し、別のAndroidバージョンでアプリを試し、Javaコンプライアンスレベルを1.6(ライブラリも)に設定)など)。問題は何ですか。
これが私のマニフェストです、私はそれで何も悪いことを見つけることができませんでした:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="ar.com.package.Android"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-feature
Android:glEsVersion="0x00020000"
Android:required="true"/>
<uses-sdk
Android:minSdkVersion="8"
Android:targetSdkVersion="17" />
<uses-permission Android:name="Android.permission.INTERNET"/>
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION"/>
<permission
Android:name="ar.com.package.Android.permission.MAPS_RECEIVE"
Android:protectionLevel="signature"/>
<uses-permission Android:name="ar.com.package.Android.permission.MAPS_RECEIVE"/>
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/Theme.Sherlock.Light.DarkActionBar"
Android:hardwareAccelerated="true">
<meta-data
Android:name="com.google.Android.maps.v2.API_KEY"
Android:value="my key"/>
<activity
Android:name="ar.com.package.Android.SplashScreen"
Android:label="@string/app_name"
Android:noHistory="true"
Android:screenOrientation="portrait"
Android:theme="@Android:style/Theme.Black.NoTitleBar"
Android:windowSoftInputMode="stateHidden"
>
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
Android:name="ar.com.package.Android.MainActivity"
Android:logo="@drawable/logo"
Android:screenOrientation="portrait"
Android:windowSoftInputMode="stateHidden"
>
</activity>
<activity
Android:name="ar.com.package.Android.SearchForm"
Android:label="@string/title_activity_search_form"
Android:parentActivityName="ar.com.package.Android.MainActivity"
>
<meta-data
Android:name="Android.support.PARENT_ACTIVITY"
Android:value="ar.com.package.Android.MainActivity" />
</activity>
</application>
</manifest>
どんな助けでも大歓迎です。私は研究を続けます、私が答えを得るならば、私はそれを投稿します。
編集
MainActivityコードは次のとおりです。
package ar.com.package.Android;
import Android.annotation.SuppressLint;
import Android.content.Intent;
import Android.os.Bundle;
import Android.support.v4.app.DialogFragment;
import Android.view.KeyEvent;
import Android.view.View;
import Android.widget.Toast;
import com.actionbarsherlock.view.*;
import com.google.Android.gms.common.ConnectionResult;
import com.google.Android.gms.common.GooglePlayServicesUtil;
import com.google.Android.gms.maps.CameraUpdateFactory;
import com.google.Android.gms.maps.GoogleMap;
import com.google.Android.gms.maps.SupportMapFragment;
import com.google.Android.gms.maps.model.LatLng;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.OnCloseListener;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.OnOpenListener;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
@SuppressLint("NewApi")
public class MainActivity extends SlidingFragmentActivity {
private SlidingMenu menu;
private Toast toast;
private long lastBackPressTime = 0;
private GoogleMap map;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// slidemenu
setBehindContentView(R.layout.menu);
setSlidingActionBarEnabled(false);
menu = getSlidingMenu();
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffset(100);
menu.setFadeDegree(0.35f);
menu.setSlidingEnabled(false);
menu.setOnCloseListener(new OnCloseListener() {
@Override
public void onClose() {
menu.setSlidingEnabled(false);
}
});
menu.setOnOpenListener(new OnOpenListener() {
@Override
public void onOpen() {
menu.setSlidingEnabled(true);
}
});
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
// ---slide menu
map = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
// Getting Google Play availability status
int status = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(getBaseContext());
if (status != ConnectionResult.SUCCESS) {
Toast.makeText(this, "Google Maps no esta disponible.",
Toast.LENGTH_LONG).show();
} else {
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
-26.8175915814614, -65.22274105834958), 13));
// Enabling MyLocation Layer of Google Map
map.setMyLocationEnabled(true);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getSupportMenuInflater().inflate(R.menu.main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case Android.R.id.home:
toggle();
return true;
case R.id.action_search:
final int RESULT = 1;
startActivityForResult(new Intent(MainActivity.this,
SearchForm.class), RESULT);
return true;
case R.id.action_lineas:
showDialogLineas();
return true;
case R.id.action_acercade:
showDialogAcercaDe();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && !menu.isMenuShowing()) {
if (this.lastBackPressTime < System.currentTimeMillis() - 4000) {
toast = Toast.makeText(this,
"Presione Atrás nuevamente para cerrar",
Toast.LENGTH_LONG);
toast.show();
this.lastBackPressTime = System.currentTimeMillis();
} else {
if (toast != null) {
toast.cancel();
}
super.onBackPressed();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
public void onResultadosClicked(View view) {
showMenu();
}
public void showDialogLineas(){
DialogFragment dialog = new LineasDialog();
dialog.show(getSupportFragmentManager(), "Lineas");
}
public void showDialogAcercaDe(){
DialogFragment dialog = new AcercaDeDialog();
dialog.show(getSupportFragmentManager(), "Acerca");
}
}
プロジェクト->プロパティ-> Javaビルドパス->注文とエクスポートに移動して、プロジェクトのAndroidプライベートライブラリがチェックされていることを確認してください使用している他のすべてのライブラリプロジェクト。