2017-05-14 3 views
1
私のbuild.gradleが失敗した
apply plugin: 'com.android.application' 

android { 

    publishNonDefault true //this line 

    compileSdkVersion 21 
    buildToolsVersion "25.0.3" 
    defaultConfig { 
     applicationId "lnt.test.com.myapplication" 
     minSdkVersion 21 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 

     ndk { 
      abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a','mips','mips64','arm64-v8a' 
     } 
     externalNativeBuild { 
      cmake { 
       arguments '-DANDROID_ALLOW_UNDEFINED_SYMBOLS=true','-DANDROID_PLATFORM=android-21', "-DANDROID_CPP_FEATURES=rtti exceptions","-DANDROID_ABI=armeabi" 

      } 
     } 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    externalNativeBuild { 
     cmake { 
      path "src/main/cpp/CMakeLists.txt" 
     } 
    } 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:21.0.2' 
} 

そして、私はエラーログのdlopen次取得していますます。java.lang.UnsatisfiedLinkError:dlopenの失敗:シンボルを見つけることができません「mbedtls_entropy_func」

として以下のように言及されている

:シンボルを見つけることができません「mbedtls_entropy_func "/data/app/lnt.test.com.myapplication-1/lib/arm/liblwm2m_client.so" ...

+0

私はandroid-studio 2.3.2を使用してmbedclientを構築するために、cmakeとexternalNativeBuildを使用しています –

答えて

0

共有ライブラリがopensslと動的にリンクしているようです。 readelf -d liblwm2m_client.so | grep NEEDEDを実行するとどうなりますか? libssl.soまたはlibcrypto.soが必要な場合は、opensslに静的にリンクする必要があります。

関連する問題