2011-12-19 5 views
2

이 주제를 상당히 잘 검색하여 좋은 해결책을 찾을 수 없습니다. 다음은 Google 개발자 콘솔의 내 매니페스트 및 오류 코드입니다. 나는 400-500 건의 다운로드 중 약 3-4 건의 "보고 된"주당 충돌을 경험합니다. 나는 Android 개발에 상당히 익숙하며, 여러분 중 한 명이 내 실수를 지적 할 수 있기를 바랍니다! 어쩌면 내 "메인 클래스"와 패키지 이름은 같지만 무작위 충돌이라는 것이 이상하게 보일 수도 있습니다. 미리 감사드립니다 !!클래스를 찾을 수 없음 예외 "java.lang.ClassNotFoundException"Android

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.matt.android.adds.freeHistory" 
     android:installLocation="preferExternal" 
     android:versionName="4.11" android:versionCode="15"> 
    <uses-sdk android:minSdkVersion="3" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"> 
</uses-permission> 
    <supports-screens 
     android:smallScreens="true" 
     android:normalScreens="true" 
     android:largeScreens="true" 
     android:anyDensity="false" /> 


    <application android:icon="@drawable/flag" android:label="@string/app_name"> 
     <activity android:name=".freeHistory" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".dateClass"></activity> 
     <activity android:name=".presClass"></activity> 
     <activity android:name=".presInfo"></activity> 
     <activity android:name=".flagClass"></activity> 
     <activity android:name=".flagInfo"></activity> 
     <activity android:name=".starSpangledBanner"></activity> 
     <activity android:name=".pledge"></activity> 
     <activity android:name=".impDocs"></activity> 
     <activity android:name=".viewDoc"></activity> 
     <activity android:name=".articlesOTC"></activity> 
     <activity android:name=".viewArticleOTC"></activity> 
     <activity android:name=".constitution"></activity> 
     <activity android:name=".preamble"></activity> 
     <activity android:name=".consArtOne"></activity> 
     <activity android:name=".displayConsArticle"></activity> 
     <activity android:name=".billOfRightsView"></activity> 
     <activity android:name=".billOfRights"></activity> 
     <activity android:name=".randomFact"></activity> 
     <activity android:name=".amendView"></activity> 
     <activity android:name=".amendClass"></activity> 
     <activity android:name=".stateInfo"></activity> 
     <activity android:name=".theStates"></activity> 
     <activity android:name="com.mobfox.sdk.InAppWebView"/> 
     <activity android:name="com.google.ads.AdActivity" 
       android:configChanges="keyboardHidden|orientation"/> 

    </application> 
</manifest> 

java.lang.RuntimeException: Unable to instantiate activity  ComponentInfo{com.matt.android.adds.freeHistory/com.matt.android.adds.freeHistory.freeHisto ry}: java.lang.ClassNotFoundException: com.matt.android.adds.freeHistory.freeHistory  in loader  dalvik.system.PathClassLoader[/mnt/asec/com.matt.android.adds.freeHistory-1/pkg.apk] 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1738) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837) 
at android.app.ActivityThread.access$1500(ActivityThread.java:132) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:143) 
at android.app.ActivityThread.main(ActivityThread.java:4196) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassNotFoundException:  com.matt.android.adds.freeHistory.freeHistory in loader dalvik.system.PathClassLoader[/mnt /asec/com.matt.android.adds.freeHistory-1/pkg.apk] 
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1730) 
... 11 more 
+0

은 com.matt.android.adds.freeHistory 패키지의 freeHistory 클래스입니까? – sampathpremarathna

+0

@ sampathpremarathna 예, freeHistory 클래스가 해당 패키지에 있습니다 – James

+0

이전 버전에서 업그레이드하는 사용자 만 충돌을 일으킬 가능성이 있습니까? –

답변

0

하나의 가능성은 클래스의 초기화가 이전를로드하는 데 실패했다는 것이다. 처리되지 않은 예외로 클래스를 초기화하기위한 첫 번째 시도가 실패하면 JVM은 다시 초기화하지 않습니다. 대신 JVM은 초기화하지 않은 클래스에 ClassNotFoundException을 던집니다.

클래스/정적 초기화 중에 catch되지 않은 예외를보고하는 이전 항목에 대해 logcat을 조사하십시오.

+0

어디에서 예외를 잡으려고합니까? 나는 앱이 시작될 때로드되는 첫 번째 페이지이므로 Java에서 클래스 (의도)를 호출하지 않습니다. – James

+0

잘 모르겠습니다. 그것은 그것이 던져지고있는 곳에 달려있다. 그리고 나는 그것을 알 수있는 방법이 없다. (게다가, 나는 안드로이드 개발자가 아니야 ...) –

0

당신이 프로젝트 청소하거나 내가 같은 문제 했다 이클립스를 다시 시작하지만 프로젝트는 오류가 해당 경로에서 각 활동의 이름의 이름을 정의하기 위해 멀리

+0

애플은 내 휴대폰과 내가 시도한 모든 에뮬레이터에서 잘 돌아 간다. 나는 또한 여러 번 응용 프로그램을 청소했습니다. 답변 해 주셔서 감사합니다 !! – James

0

시도를 이동했다 청소 : 의 당신의 활동은 가정하자 매니페스트에서 "com.exemple.activities" 라는 이름의 패키지에, 다음과 같이 업데이트 :

<activity android:name="com.example.activities.activityname" ></activity> 

예 :

<activity android:name="com.example.activities.dateClass"></activity> 
관련 문제