2016-04-27 4 views
0

私はliblinphoneをアンドロイドスタジオで使用しようとしましたが、linphoneサイトの「.so」ファイルを使用していました。そして、それをndk 9,10,11,12のバージョンで自分でビルドしました。常にx86_64プラットフォームとの誤差は、Androidのモニタに表示されます。liblinphone android x86_64 ffmpegがロードできない

04-27 02:37:01.404 13883-13883/? I/LinphoneCoreFactoryImpl: Trying to load liblinphone for x86_64 
04-27 02:37:01.410 13883-13883/? W/LinphoneCoreFactoryImpl: Unable to load optional library libffmpeg-linphone-x86_64 
04-27 02:37:01.411 13883-13883/? I/LinphoneCoreFactoryImpl: Trying to load liblinphone for x86 
04-27 02:37:01.414 13883-13883/? W/LinphoneCoreFactoryImpl: Unable to load optional library libffmpeg-linphone-x86 
04-27 02:37:01.417 13883-13883/? D/AndroidRuntime: Shutting down VM 

私はそれがプラットフォームx86_64で動作Linphoneはアプリケーションをインストールする場合。 助けてください、どうすればいいですか?

答えて

0

arm64アーキテクチャでも同様の問題が発生しましたが、これは下記の解決方法で解決しました。

私が今までに見つけた最良の解決策は、APKからすべての64ビットバイナリを単純に除外することです(警告する必要があります)。 64ビットの依存関係が見つからない場合、Androidはすべて.soの32ビットフォールバックバージョンをうれしく読み込んで、64ビット固有の機能に依存していないと仮定してうまく動作します。あなたのプロジェクトでこれを実装するには、次の手順を実行します。プロジェクトのルートでごgradle.properties

  1. を、行を除外する追加、

    android.useDeprecatedNdk=true. 
    
  2. があなたのbuild.gradleファイルに次のブロックを追加の行を追加します。

    android { 
    ... 
    defaultConfig { 
    ... 
    ndk { 
        abiFilters "armeabi-v7a", "x86" 
    } 
    
    packagingOptions { 
        exclude "lib/arm64-v8a/librealm-jni.so" 
        } 
        } 
    } 
    

あなた回:すべての64ビットの依存関係のために

Source of this solution

関連する問題