Log in or register to post comments

Lenovo A10-70

April 14, 2016 - 9:53am #1

Hi - I've just obtained a Lenovo A10-70 as it's good value for a fairly high spec device and will be popular. (Quad-core MediaTek MT8165 1.5-1.7 Ghz processor (ARM), 10" screen and 1920x1200 resolution)

When I try my Vuforia test on it, which runs on all Google, Samsung and Motorola devices I've tested, it reports:

     W/System.err: The library libVuforia.so could not be loaded

Any thoughts on the possible cause? My first thoughts were that I might have overlooked that it was an Intel processor but the specs claim ARM-based.

 

Lenovo A10-70

April 25, 2016 - 9:30am #8

@AlessandroB - I've sent a private message also.

Lenovo A10-70

April 25, 2016 - 9:28am #7

I have my own answer for this now. As my library builds all flavours (armeabi-v7a, arm64-v8a, x86 etc) at run-time when the Lenovo (a 64-bit device) finds libraries in libs/arm64-8a it no longer looks in libs/armeabi-v7a (where libVuforia.so resides) and so fails to load that library even though it is present.

By filtering down the delivered libraries to just armeabi-v7a, the device is again able to find libVuforia.so and the problem is avoided (albeit without 64-bit advantages).

Use the following settings in your build.gradle. For 'out-of-the-box' gradle in Android Studio:

    buildTypes {
        release {
            ndk {
                abiFilters "armeabi-v7a"
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            ndk {
                abiFilters "armeabi-v7a"
            }
        }
    }

For gradle experimental plug-in for NDK development use:

    android.productFlavors {
        create("arm7") {
            ndk.abiFilters += "armeabi-v7a"
        }
    }

Hope that saves anybody else the grief...

Lenovo A10-70

April 15, 2016 - 6:05am #6

If the Vuforia Samples work, you may want to double-check the Lib paths in your build.gradle file (located under the "/app" subdirectory of your project) and compare it with the one of the Vuforia Samples;

in particular, have a close look at these paths and variables:

def VUFORIA_SDK_DIR = '../../..'
def NATIVE_LIB_DIR = 'build/lib'
def JAR_DIR = 'build/java/vuforia'
 
android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
 
    sourceSets.main {
        jni.srcDirs = []
        jniLibs.srcDir "$VUFORIA_SDK_DIR/$NATIVE_LIB_DIR/"
    }
 
 
and this :
 
dependencies {
    compile files("$VUFORIA_SDK_DIR/$JAR_DIR/Vuforia.jar")
}
 
 

Lenovo A10-70

April 14, 2016 - 3:53pm #5

Okay - confirmed it works fine on the Lenovo with Vuforia 5.0.5 and 5.5.9 ImageTargets sample.

Since the libVuforia file is loaded behind the scenes and it works on Samsung devices, and on the Lenovo with the sample apps, it's unclear what I could be doing to cause this problem?

 

Lenovo A10-70

April 14, 2016 - 3:08pm #4

I should try it with a Vuforia 'out-of-the-box' app first just to be sure. :-) Yes, and with 5.5...

(Native SDK)

Lenovo A10-70

April 14, 2016 - 10:40am #3

Native SDK or Unity Extension? Do you see the same error if you run a 5.5 SDK sample on it?

If you don't mind attaching the logcat dump of the error that may be helpful too in isolating the issue. Thanks.

Lenovo A10-70

April 14, 2016 - 10:00am #2

Full specs:

Lenovo TAB 2 A10-70F
Android: 5.0.1
Kernel: 3.10.61
RAM: 2Gb
Free disk: 10Gb

Vuforia 5.0.5

 

Log in or register to post comments