[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sequoyah-dev] This project does not have Native Library support

Hi

On 15 October 2010 05:48, Carlos Souto <mkhv73@xxxxxxxxxxxx> wrote:
> Hi,
> You enter just the project name, or whatever you want to call you library.
> The lib prefix and the .so suffix will be appended automatically.

Thanks, I had guessed it in the end :)

> The second error is somewhat odd. Could you provide any further details
> about the issue?

One of my layout is like this:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android";
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="7dip">
    <com.hydrix.laurene.ScreenView android:id="@+id/screen"
		android:cursorVisible="false"
		android:layout_width="fill_parent"
		android:layout_height="84dp"  />
    <TableLayout android:id="@+id/keyboard"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
		android:layout_below="@id/screen"
		android:layout_weight="1">
...

Note the <com.hydrix.laurene.ScreenView> ; this is a class inheriting
from RelativeLayout.

It makes use of a JNI Class com.hydrix.laurene.CalcCore.
It works fine on the device or simulator obviously.

But the layout editor will only show an error message, in the console you see:

java.lang.UnsatisfiedLinkError: no calccore in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1754)
	at java.lang.Runtime.loadLibrary0(Runtime.java:823)
	at java.lang.System.loadLibrary(System.java:1045)
	at com.hydrix.laurene.CalcCore.<clinit>(CalcCore.java:607)
	at com.hydrix.laurene.ScreenView.<init>(ScreenView.java:107)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

I'm guessing that Eclipse tries to load the ScreenView class, as it's
linked to an ARM native library it can't use it.

To be honest it doesn't bother me too much in the end. I found the
layout editor to be unusable anyway, it just never looks like what it
would look on a real device, so I've learnt to do without. Using
trials, the behaviour of Android layouts is more often than not
unpredictable. Like I have a view using a bar at the bottom. On one
layout I have to set the height to 120dip to be of the same height as
another where it's set to 58dip.


Another issue with the Native View..
I had to set the path to ndk-build statically. Leaving the default
does not work. The NDK path is properly set up.

JY