Why does Android dalvik have problems with Eclipse multi-project apps?
-
When the application is spread across multiple projects, VFY errors occur, as copied below. But when combined into a single project, there is no problem. 07-22 00:10:56.947: WARN/dalvikvm(294): Unable to resolve superclass of Lcom/mparaz/networkapi/client/android/AndroidDiscoverService; (98) 07-22 00:10:56.947: WARN/dalvikvm(294): Link of class 'Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;' failed 07-22 00:10:56.977: ERROR/dalvikvm(294): Could not find class 'net.wacapps.networkapi.client.android.AndroidDiscoverService', referenced from method net.wacapps.networkapi.cinemas.napi.NAPIUtil.<init> 07-22 00:10:56.997: WARN/dalvikvm(294): VFY: unable to resolve new-instance 99 (Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;) in Lcom/mparaz/networkapi/myapp/napi/NAPIUtil; 07-22 00:10:56.997: DEBUG/dalvikvm(294): VFY: replacing opcode 0x22 at 0x0030 07-22 00:10:57.017: DEBUG/dalvikvm(294): VFY: dead code 0x0032-0041 in Lcom/mparaz/networkapi/myapp/napi/NAPIUtil;.<init> (Landroid/app/Activity;)V 07-22 00:10:57.087: WARN/dalvikvm(294): Unable to resolve superclass of Lcom/mparaz/networkapi/client/android/AndroidDiscoverService; (98) 07-22 00:10:57.087: WARN/dalvikvm(294): Link of class 'Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;' failed 07-22 00:10:57.147: WARN/dalvikvm(294): Unable to resolve superclass of Lcom/mparaz/networkapi/client/android/AndroidDiscoverService; (98) 07-22 00:10:57.147: WARN/dalvikvm(294): Link of class 'Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;' failed 07-22 00:10:57.179: INFO/dalvikvm(294): Could not find method net.wacapps.networkapi.client.android.AndroidDiscoverService.queryProduct, referenced from method net.wacapps.networkapi.cinemas.napi.NAPIUtil.getApplicationDetails 07-22 00:10:57.179: WARN/dalvikvm(294): VFY: unable to resolve virtual method 222: Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;.queryProduct (Lcom/mparaz/networkapi/client/model/DiscoveredProvider;Ljava/lang/String;)Lcom/mparaz/networkapi/client/model/ApplicationDetails; 07-22 00:10:57.187: DEBUG/dalvikvm(294): VFY: replacing opcode 0x6e at 0x000a 07-22 00:10:57.237: WARN/dalvikvm(294): VFY: unable to find class referenced in signature (Lcom/mparaz/networkapi/client/model/ApplicationDetails;) 07-22 00:10:57.269: WARN/dalvikvm(294): VFY: unable to find class referenced in signature (Lcom/mparaz/networkapi/client/model/ApplicationDetails;) 07-22 00:10:57.269: DEBUG/dalvikvm(294): VFY: dead code 0x000d-000f in Lcom/mparaz/networkapi/myapp/napi/NAPIUtil;.getApplicationDetails ()Lcom/mparaz/networkapi/client/model/ApplicationDetails; 07-22 00:10:57.317: WARN/dalvikvm(294): VFY: unable to find class referenced in signature (Lcom/mparaz/networkapi/client/model/DiscoveredProvider;) 07-22 00:10:57.337: WARN/dalvikvm(294): Unable to resolve superclass of Lcom/mparaz/networkapi/client/android/AndroidDiscoverService; (98) 07-22 00:10:57.337: WARN/dalvikvm(294): Link of class 'Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;' failed 07-22 00:10:57.396: WARN/dalvikvm(294): Unable to resolve superclass of Lcom/mparaz/networkapi/client/android/AndroidDiscoverService; (98) 07-22 00:10:57.396: WARN/dalvikvm(294): Link of class 'Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;' failed 07-22 00:10:57.427: WARN/dalvikvm(294): VFY: unable to find class referenced in signature (Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;) 07-22 00:10:57.457: WARN/dalvikvm(294): VFY: unable to find class referenced in signature (Lcom/mparaz/networkapi/client/model/ApplicationDetails;) 07-22 00:10:57.507: WARN/dalvikvm(294): VFY: unable to find class referenced in signature (Lcom/mparaz/networkapi/client/model/DiscoveredProvider;) 07-22 00:10:57.539: WARN/dalvikvm(294): Unable to resolve superclass of Lcom/mparaz/networkapi/client/android/AndroidDiscoverService; (98) 07-22 00:10:57.547: WARN/dalvikvm(294): Link of class 'Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;' failed 07-22 00:10:57.577: WARN/dalvikvm(294): VFY: unable to find class referenced in signature (Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;) 07-22 00:10:57.607: WARN/dalvikvm(294): Unable to resolve superclass of Lcom/mparaz/networkapi/client/android/AndroidDiscoverService; (98) 07-22 00:10:57.607: WARN/dalvikvm(294): Link of class 'Lcom/mparaz/networkapi/client/android/AndroidDiscoverService;' failed
-
Answer:
It' salso possible with normal eclipse-mechanisms: Right-Click on your Android-Project -> Build path -> Configure Build Path... -> Order and Export -> select the Project which classes should be included in your app
Marvin Emil Brach at Quora Visit the source
Other answers
The normal Eclipse project dependency mechanism does not work with Android projects. Instead, the provider project must be set up as an Android library. The consumer project must use the library. These will be combined as a single APK.
Miguel Paraz
Related Q & A:
- Why can't I download apps on my android phone?Best solution by Android Enthusiasts
- How do you convert an Android project to a maven project manually?Best solution by Quora
- How to add this library project to Android Studio?Best solution by Stack Overflow
- What is a great idea for an Android or Java project?Best solution by 1000projects.org
- What is Android studio library, how to add specific library and use it with my project?Best solution by stackoverflow.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.