2013-07-16 8 views
5

इसलिए मैंने एक एंड्रॉइड प्रोजेक्ट आयात किया और अंत में कुछ समय के लिए संघर्ष करने के बाद, मैंने ऐप संकलित किया और यह दुर्घटनाग्रस्त हो गया। एक समस्या की खोज MainActivity वर्ग है किक्लास मेनएक्टिविटी (आयातित प्रोजेक्ट) नहीं मिला

07-16 23:02:23.700: E/AndroidRuntime(23092): Caused by: java.lang.ClassNotFoundException: Didn't find class "si.dvanadva.evanturist.MainActivity" on path: /data/app/si.dvanadva.evanturist-2.apk 

:

07-16 23:02:23.700: E/AndroidRuntime(23092): FATAL EXCEPTION: main 
07-16 23:02:23.700: E/AndroidRuntime(23092): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{si.dvanadva.evanturist/si.dvanadva.evanturist.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "si.dvanadva.evanturist.MainActivity" on path: /data/app/si.dvanadva.evanturist-2.apk 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.os.Looper.loop(Looper.java:137) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.app.ActivityThread.main(ActivityThread.java:5041) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at java.lang.reflect.Method.invokeNative(Native Method) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at java.lang.reflect.Method.invoke(Method.java:511) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at dalvik.system.NativeStart.main(Native Method) 
07-16 23:02:23.700: E/AndroidRuntime(23092): Caused by: java.lang.ClassNotFoundException: Didn't find class "si.dvanadva.evanturist.MainActivity" on path: /data/app/si.dvanadva.evanturist-2.apk 
07-16 23:02:23.700: E/AndroidRuntime(23092): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.app.Instrumentation.newActivity(Instrumentation.java:1054) 
07-16 23:02:23.700: E/AndroidRuntime(23092): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097) 

मैं इस लाइन से देख सकते हैं:

यह logcat फ़ाइल है। पर क्यों?

  • आयातित कच्चे परियोजना (पुस्तकालयों के बिना)

  • जोड़ा जार जार के लिए

  • जोड़ा लापता निर्माण पथ परियोजना में फ़ोल्डर libs के लिए:

    यह मैं परियोजना कैसे आयातित है

  • आयातित तीन पुस्तकालय परियोजनाओं (मूल परियोजना उन्हें पता चला)

उन तीन लाइब्रेरी प्रोजेक्ट मूल परियोजना के रूप में एक ही फ़ोल्डर में सभी कर रहे हैं

आप किसी भी अतिरिक्त जानकारी की जरूरत है तो कृपया मुझे बताएं, मैं हल करने के लिए की जरूरत है (इस मामले में मैं उन्हें गलत या कुछ और रख दिया गया) इस समस्या को

संकुल और उनकी सामग्री:

enter image description here

AndroidManifest पूर्ण कोड:

012,
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="si.dvanadva.evanturist" 
android:versionCode="7" 
android:versionName="1.1.2" 
android:installLocation="preferExternal"> 

<!-- ZA MAPE --> 
<permission 
    android:name="com.dd.evanturist.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 
<uses-permission android:name="com.dd.evanturist.permission.MAPS_RECEIVE"/> 

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <!-- External storage for caching. --> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <!-- My Location --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <!-- Maps API needs OpenGL ES 2.0. --> 
    <uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 
    <!-- End of copy. --> 

<!-- QR STUFF --> 

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

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:name=".MyApplication" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/evanturist" 
    android:theme="@style/AppTheme" > 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="AIzaSyDK5zGCwh3awW08BOAwupjU4hw8750WuLM"/> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/evanturist" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".DBActivity"></activity> 
    <activity android:name=".DbTestActivity"></activity> 
    <activity android:name=".PlaceItemActivity"></activity> 
    <activity android:name=".CheckpointsActivity"></activity> 
    <activity android:name=".OptionsActivity"></activity> 
    <activity android:name=".MapDirectionsActivity"></activity> 
    <activity android:name=".VictoryActivity"></activity> 
    <activity android:name=".QrActivity" 
     android:screenOrientation="landscape" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:name=".QrPortraitActivity" 
     android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar"></activity> 

</application> 

निर्यात का निर्माण पथ पर टैब:

enter image description here

+0

संगतता पैकेज के साथ ग्रहण? – gunar

+0

@ गुनार क्षमा करें, मैं आपके प्रश्न को काफी समझ नहीं पा रहा हूं। मैं ग्रहण का उपयोग कर रहा हूं, लेकिन आपका क्या मतलब है? – Guy

+0

आपकी 'मुख्य गतिविधि' 'गतिविधि' से या 'फ्रैगमेंट एक्टिविटी' से फैली हुई है? – gunar

उत्तर

3

समस्या हल हो गई !!

पूरी समस्या Google Play Services लाइब्रेरी प्रोजेक्ट के कारण हुई थी। जब किसी ने मुझे यह परियोजना भेजी, तो उसने परियोजना के लिए आवश्यक सभी तीन लाइब्रेरी परियोजनाओं को भी संलग्न किया। मैंने फिर उन सभी फाइलों को सीधे फाइल से जोड़ा जो उन्होंने मुझे भेजा था।

अब बात यह है कि आपको हमेशा एसडीके डाउनलोड स्थान (कहीं और नहीं - बाहरी स्रोतों) से Google play सेवाएं जोड़ने की आवश्यकता है, इसलिए मैंने वर्तमान Google play सेवाओं को हटा दिया है और जिन्हें मैंने एसडीके के साथ डाउनलोड किया है प्रबंधक और समस्या हल हो गई थी।

1

1) एक ही पैकेज [कहते हैं com.compname.proj.views] के तहत सभी गतिविधियों रखें।

2) प्रकट में सुनिश्चित करें, पैकेज विशेषता उपरोक्त पैकेज [i.e com.compname.proj.views] पर सेट है।

3) प्रकट, सभी गतिविधि टैग के अंतर्गत, सुनिश्चित एंड्रॉयड बनाना:

android:name=".<your activity class name>" 

पूर्व: एंड्रॉयड: नाम विशेषता पैटर्न नीचे करने के लिए मूल्यों मिलान है नाम = "SomeActivity।"

मेरे बिंदु प्रकट गतिविधि घोषणा के लिए पैकेज नाम + गतिविधि वर्ग नाम का उपयोग नहीं करना है।

एक बार जब आप ऊपर अंक के बारे में निश्चित नहीं हैं, अभी भी समस्या, बनी रहती है तो:

  1. हटाएं बिन फ़ोल्डर।

  2. अपनी परियोजना को पुनर्निर्माण और चलाने के लिए।

+0

आपके उत्तर के लिए धन्यवाद! मेरे पास तीन पैकेज हैं लेकिन मुख्य पैकेज से केवल गतिविधियां घोषित फ़ाइल में घोषित की गई हैं। मैंने अभिव्यक्ति घोषणा को बदल दिया .activityname (मैंने पैकेज नाम हटा दिया) और यह काम नहीं किया। मैंने बिन को हटाने और प्रोजेक्ट की सफाई करने का भी प्रयास किया लेकिन त्रुटि वही बना रही है। कृपया मेरी संपादित मूल पोस्ट देखें जहां मैंने सभी संकुलों और उनकी सामग्री और मैनिफेस्ट फ़ाइल की एक तस्वीर पोस्ट की है। – Guy

+0

यदि आपके डिवाइस/एमुलेटर में पिछले संस्करण एपीके हैं, तो हाल ही में नवीनतम संस्करण फॉर्म को अनइंस्टॉल और इंस्टॉल करें। क्रैश लॉग /data/app/si.dvanadva.evanturist-2.apk से इंगित करता है कि 2 बिल्ड (एपीके) हैं प्रणाली में। इसके अलावा एक संभावना है कि आपके ऐप के निर्माण के दौरान आपकी परियोजना सेटिंग्स/कॉन्फ़िगरेशन अभी तक प्रभावी नहीं हैं। यह ग्रहण द्वारा परियोजना गुणों के कैशिंग के कारण हो सकता है। – Chandan

+0

मैंने पिछले संस्करण को हटाने और नवीनतम निर्माण को स्थापित करने का प्रयास किया लेकिन यह काम नहीं किया। मैं 2 बिल्ड और सेटिंग्स/कॉन्फ़िगरेशन के साथ समस्या को कैसे ठीक कर सकता हूं? कृपया मेरा नया संपादन भी देखें, मैंने बिल्ड पथ पर निर्यात टैब का एक स्क्रीनशॉट पोस्ट किया है, शायद समस्या है? – Guy

संबंधित मुद्दे