2016-07-14 2 views
0

Я пытаюсь создать приложение HelloWorld android с использованием кордовы. Я выполняю шаги, указанные на стр follwoing http://javaonlineguide.net/2015/06/apache-cordova-hello-world-program-for-android-platform-in-eclipse-example.htmljava.lang.RuntimeException: Невозможно создать экземпляр активности ComponentInfo {}: java.lang.ClassNotFoundException

Я просматривал этот вопрос, и я уверен, что я не имею те же проблемы, как уже упоминалось. Обе мои действия объявлены в AndroidManifest, и фильтр намерений существует. Я попытался заменить в Manifest com.example.main.MainActivity на .MainActivity, но все равно не повезло. Я использую Eclipse IDE В пути построения Java-> Заказ и экспорт Проверены личные библиотеки Android

Я пробовал проект строительства и уборки снова и снова. Я даже попытался перезапустить Eclipse.

Project Explorer

Вот Logcat:

07-14 06:07:36.169: E/AndroidRuntime(1133): FATAL EXCEPTION: main 
07-14 06:07:36.169: E/AndroidRuntime(1133): Process: com.example.main, PID: 1133 
07-14 06:07:36.169: E/AndroidRuntime(1133): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.main/com.example.main.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.main.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.main-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.main-1, /system/lib]] 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.app.ActivityThread.access$800(ActivityThread.java:135) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.os.Handler.dispatchMessage(Handler.java:102) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.os.Looper.loop(Looper.java:136) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.app.ActivityThread.main(ActivityThread.java:5001) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at java.lang.reflect.Method.invokeNative(Native Method) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at java.lang.reflect.Method.invoke(Method.java:515) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at dalvik.system.NativeStart.main(Native Method) 
07-14 06:07:36.169: E/AndroidRuntime(1133): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.main.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.main-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.main-1, /system/lib]] 
07-14 06:07:36.169: E/AndroidRuntime(1133): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at java.lang.ClassLoader.loadClass(ClassLoader.java:497) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at java.lang.ClassLoader.loadClass(ClassLoader.java:457) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 
07-14 06:07:36.169: E/AndroidRuntime(1133): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101) 

Вот AndroidManifest.xml:

<?xml version='1.0' encoding='utf-8'?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.main" 
android:hardwareAccelerated="true" 
android:versionCode="1" 
android:versionName="0.0.1" > 

<supports-screens 
    android:anyDensity="true" 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:resizeable="true" 
    android:smallScreens="true" 
    android:xlargeScreens="true" /> 

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

<application 
    android:hardwareAccelerated="true" 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:supportsRtl="true" > 
    <activity 
     android:name="MainActivity" 
      android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" 
     android:label="@string/activity_name" 
     android:launchMode="singleTop" 
     android:theme="@android:style/Theme.DeviceDefault.NoActionBar" 
     android:windowSoftInputMode="adjustResize" > 
     <intent-filter android:label="@string/launcher_name" > 
      <action android:name="android.intent.action.MAIN" /> 

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

<uses-sdk 
    android:minSdkVersion="14" 
    android:targetSdkVersion="23" /> 

</manifest> 

Вот MainActivity.java

package com.example.main; 

import android.os.Bundle; 
import org.apache.cordova.*; 

public class MainActivity extends CordovaActivity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     // Set by <content src="index.html" /> in config.xml 
     loadUrl(launchUrl); 
    } 
} 

ответ

1

, потому что вы объявить этот путь

<activity 
     android:name="MainActivity" 

просто положить . в MainActivity как этот

<activity 
      android:name=".MainActivity" 
+0

Привет, Ironman, Спасибо за ваш ответ. Я пробовал это. Но ошибка по-прежнему сохраняется –

+0

@ Kunalbadade 'clean' проект .. – Ironman

+0

да. Я это сделал. и проект строительства после предлагаемого изменения. –

0

В манифесте , в вашем теге активности добавьте '.' Перед MainActivity

`android:name=".MainActivity"` 

Вы можете рассмотреть android.name как продолжение package имени. Таким образом, без точки это будет com.example.mainMainActivity, что неправильно. Правильная структура была бы com.example.main.MainActivity

+0

Я пробовал еще раз, но до сих пор не везло –

+0

Чистый и строить. Позвольте мне знать, что это за ошибка. – Tony

+0

Пробовал очистки и строительства. Я получаю такую ​​же ошибку. –

0

Все что мне нужно сделать, это создать приложение, используя Кордову.

я строил проект в Eclipse, но с этим я также необходимо создать проект с помощью команды:

E:\Software\Demo\VMSapp>cordova build 

Эта команда обновляет файл APK.

0

Я перезапустил свое устройство, и оно просто сработало!

+0

Это шо uld будет комментарий –

4

Я остановил мгновенный запуск от студии Android и ее работы.

File-> Setting-> Build-> Instant Подвижная> Disble флажком Включить мгновенный запуск в горячей замены кода/ресурсов изменения

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

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