Hi,
I am kind of facing a similar problem with my project.
I have an existing project which has 2 parts. Services module and
Application module.
The VMService.aidl file is in a package in the services. When the
service module is compiled, the generated VMService.java file appears
in the /gen folder.

I have exported this in the source code of the application as
import com.VMService;

But I am still getting run time errors during the launch of the
application.
The LogCat logs show this:
Could not find class com.VMService
06-30 17:33:11.248: ERROR/dalvikvm(460): Could not find class
'com.VVMService', referenced from method
com.samsung.vvmapp.VMApplication.onActivityResult

06-30 17:33:11.457: ERROR/AndroidRuntime(460):
java.lang.NoClassDefFoundError: com.VMService

Please let me know what wrong I am doing.
Thanks,
Priyank

On Jun 24, 10:25 am, Krishna Shetty <krishna.shett...@gmail.com>
wrote:
> It became clear now. Thank you Mark.
> The problem was, I am having my AIDL interface in a different package.
> And I have included the same AIDL interface package in both Service
> and Client application. But  the   <intent-filter>  of the Service had
> <action> string with package name of the Service.
>
> So we can follow below while adding <intent-filter>, so trhat trick
> "IScript.class.getName()" will work.
>
> <service android:name=".serviceName" android:exported="true"
> android:enabled="true">
> <intent-filter>
> <action android:name="package name of aidl interface.Interface name" /
>
> </intent-filter>
> </service>
>
> thanks,
> Krishna
>
> On Jun 23, 7:02 pm, Mark Murphy <mmur...@commonsware.com> wrote:
>
>
>
> > On Wed, Jun 23, 2010 at 9:57 AM, Krishna Shetty
>
> > <krishna.shett...@gmail.com> wrote:
> > > Thank you very much Mark, Joe.
>
> > > But below call i.e., binding with the Interface name is not working. I
> > > got the same error, "not able to bind, service not found.."
> > > bindService(new Intent(IScript.class.getName()), svcConn,
> > > Context.BIND_AUTO_CREATE);
>
> > That means you have no service with an <intent-filter> containing an
> > <action> string that matches the value generated by
> > IScript.class.getName(). If you are taking that code from one of my
> > samples, the corresponding manifest from those samples is set up
> > properly:
>
> >http://github.com/commonsguy/cw-advandroid/tree/master/AdvServices/Re...
>
> > > But, below way of binding works. i.e., Binding with the exported
> > > Service.
> > > Intent i = new Intent();
> > > i.setClassName("com.mt.TestRemoteService",
> > > "com.mt.TestRemoteService.MyService");
> > > bindService(i, svcConn, Context.BIND_AUTO_CREATE);
>
> > This is extremely fragile. If the other application refactors its
> > code, your code will break.
>
> > > Why bind with Interface name is not working for me?
> > > ( Note: I have added an <intent-filter> on the <service> with a
> > > Interface <action> )
>
> > Whatever you think you did, it is not working.
>
> > Rather than use my IScript.class.getName() trick, it is probably
> > simpler for you to just use the literal string. Copy whatever string
> > is in your <action> and paste it as a string literal in your Intent
> > constructor.
>
> > --
> > Mark Murphy (a Commons 
> > Guy)http://commonsware.com|http://github.com/commonsguyhttp://commonsware.com/blog|http://twitter.com/commonsguy
>
> > _The Busy Coder's Guide to *Advanced* Android Development_ Version 1.6
> > Available!- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to