I will make a new post in Android-Platform group,hopefully I can get
some help there, thanks Dianne!

On Dec 13, 4:52 am, "Dianne Hackborn" <hack...@android.com> wrote:
> Hi, since native code is not currently supported in the SDK, this post is
> not appropriate for this group.  Please post on one of the open-source
> platformg groups such as android-platform.
>
>
>
>
>
> On Fri, Dec 12, 2008 at 1:53 AM, kevin_fan <kevin....@gmail.com> wrote:
>
> > Hi Group!
>
> > I created my own android application using eclipse+ADT. Inside the
> > application, there is a class called "UniFNativeInterface", it loads
> > the library "libUniFNativeCode.so" and contains a few "native"
> > methods, which means it is simply a wrapper of native features. The
> > libray - "libUniFNativeCode.so" is for the native implementation. Of
> > course, before I run my application, I push the lib into to the
> > emulator.
> > This is scenario one, and everything worked fine.
>
> > Because of my curiosity, I tried to integrate the package
> > "com.android.unif"(where class "UniFNativeInterface" lives in) into
> > the platform, I simply locate the package folder under "D:\SourceCode
> > \android\mydroid\frameworks\base\core\java\com\android\", to make it a
> > part of framework.jar,  and then rebuild everything.
> > When I reboot the emulator with the newly - built images, and invoked
> > the use of class  "UniFNativeInterface", VM crashed with the below
> > log:
>
> > .....
> > D/dalvikvm(  227): Trying to load lib /system/lib/libUniFNativeCode.so
> > 0x0
> > D/dalvikvm(  227): Added shared lib /system/lib/libUniFNativeCode.so
> > 0x0
> > W/dalvikvm(  227): JNI WARNING: JNI method called with exception
> > raised
> > W/dalvikvm(  227):              in Ljava/lang/Runtime;.nativeLoad
> > (Ljava/lang/String;Ljava/lang/ClassLoader;)Z (RegisterNatives)
> > W/dalvikvm(  227): Pending exception is:
> > I/dalvikvm(  227): Ljava/lang/NoClassDefFoundError;:
> > com.android.unif.UniFNativeInterface
> > I/dalvikvm(  227):      at java.lang.Runtime.nativeLoad(Native Method)
> > I/dalvikvm(  227):      at java.lang.Runtime.loadLibrary(Runtime.java:380)
> > I/dalvikvm(  227):      at java.lang.System.loadLibrary(System.java:458)
> > I/dalvikvm(  227):      at com.android.unif.UniFNativeInterface.<clinit>
> > (UniFNativeInterface.java:113)
> > .....
>
> > My code was built into the platform(framework.jar, more precisely)
> > successfully, otherwise libUniFNativeCode.so wouldn't be loaded
> > (crap...);
> > and the library was correctly found;
>
> > I think the problem took place when the native library tried to the
> > register native methods to class com.android.unif.UniFNativeInterface,
> > but Runtime could not find the definition of that class. However, we
> > can see from the log that the package and class name is exactly the
> > same as it is supposed to be, then why this happened....I saw there
> > are a few usages of JNI in framework, was there anything I missed??
>
> > The only difference I can see of above two scenarios are the
> > environment, any idea?
>
> > any suggestions will be appreciated!!! thanks in advance!!!
>
> --
> Dianne Hackborn
> Android framework engineer
> hack...@android.com
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support.  All such questions should be posted on public
> forums, where I and others can see and answer them.- 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