2017-04-26 2 views
4

Antergos Linux環境でAndroidスタジオでAppを開発しています。同期、ビルド、デバッグですべてが正常に機能していました。一日前に、いくつかのアップデートを待って、もうビルドしません。ソースコードはまったく同じで、私も以前に働いていた古いコミットに自分のコードをリセットしようとしたので、問題は自分のコードではないことが分かりました。 Gradleの同期メッセージは次のとおりです。Antergos Linuxで "OPENSSL_1.0.0 not found"が見つかりました

Build command failed. 

Error while executing process /home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake with arguments {-H/home/andre/Development/Edru/edru-android/app 
-B/home/andre/Development/Edru/edru-android/app/.externalNativeBuild/cmake/debug/armeabi 
-GAndroid Gradle - Ninja -DANDROID_ABI=armeabi -DANDROID_NDK=/home/andre/Android/Sdk/ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/andre/Development/Edru/edru-android/app/build/intermediates/cmake/debug/obj/armeabi 
-DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/home/andre/Android/Sdk/cmake/3.6.3155560/bin/ninja 
-DCMAKE_TOOLCHAIN_FILE=/home/andre/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake 
-DANDROID_PLATFORM=android-19 -DCMAKE_CXX_FLAGS=-std=c++11 -frtti -fexceptions} 

/home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake: /usr/lib/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake) 

/home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake) 

/home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake) 

Build command failed. 

Error while executing process /home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake with arguments {-H/home/andre/Development/Edru/edru-android/app 
-B/home/andre/Development/Edru/edru-android/app/.externalNativeBuild/cmake/release/armeabi 
-GAndroid Gradle - Ninja -DANDROID_ABI=armeabi -DANDROID_NDK=/home/andre/Android/Sdk/ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/andre/Development/Edru/edru-android/app/build/intermediates/cmake/release/obj/armeabi 
-DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/home/andre/Android/Sdk/cmake/3.6.3155560/bin/ninja 
-DCMAKE_TOOLCHAIN_FILE=/home/andre/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake 
-DANDROID_PLATFORM=android-19 -DCMAKE_CXX_FLAGS=-std=c++11 -frtti -fexceptions} 

/home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake: /usr/lib/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake) 

/home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake) 

/home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /home/andre/Android/Sdk/cmake/3.6.3155560/bin/cmake) 

私はすでに確認されて、私はopensslの1.0とOpenSSL 1.1の両方を持っています。私はすでに完全に新しいアンドロイドスタジオでOSを元に戻しましたが、問題はまだあります。

ありがとうございました。

+0

Androidは現在OpenSSLではなくBoringSSLを使用していると思います。タグを元に戻してください。このパスは間違っています: '/ usr/lib/libcrypto.so.1.0.0'。それは通常、ホストマシン(あなたのPC)の 'libcrypto'(と' libssl')です。ターゲットマシン(Androidデバイス)ではありません。 – jww

+1

昨日システムを更新した後、Archと同じ問題が発生しました。 '$/opt/android-sdk/cmake/3.6.3155560/bin/cmake'を実行するとエラーメッセージが表示されます。 – JonesV

+0

'/ opt/android-sdk/cmake/3.6.3155560/bin/cmake'にある' cmake'バイナリが、私がlibsslの新しいバージョンを手に入れた今や再コンパイルされているように感じました。しかし、それはgradleによってインストールされているようですので、自分で構築できるかどうかはわかりません... – JonesV

答えて

5

問題はAndroidに付属しているcmake 3.6.3155560とopenssl-1.0.2.k-3です。あなたがArch Linuxの最新版であれば、extra/openssl-1.0 1.0.2.k-3core/openssl 1.1.0.e-1がインストールされていると思います。それは少なくとも私の状況でした。

注:次のようにこの場合

は、ちょうど、openssl-1.0 1.0.2.k-2openssl-1.0 1.0.2.k-3をダウングレードすることは、私のために働いたが、私はアーチの専門家ではないですし、パッケージをダウングレードすると、システム上の結果をもたらす可能性があります。それはあなたの責任で行ってください。

  1. パッケージhereをダウンロード: "opensslの-1.0-1.0.2.k-2-x86_64.pkg.tar.xz"
  2. ダウングレードしたばかりのよう$ pacman -U openssl-1.0-1.0.2.k-2-x86_64.pkg.tar.xz
  3. でダウンロードしたパッケージに検証、あなたがpacman -Ss openssl-1.0を実行する場合、それはあなたを教えてください:もちろん

    extra/openssl-1.0 1.0.2.k-3 [installed: 1.0.2.k-2]

pacman -Syuは再びopenssl-1.0を更新することになるでしょう。

更新日:今日(30-05-2017)現在、修正されているようです。

+0

ストレスセーバー!どうも! –

4

ダウングレードを避けるには、前述のようにopenssl-1.0-1.0.2.k-2-x86_64.pkg.tar.xzをダウンロードしてアーカイブを解凍し、lib /ファイルを/ usr/localにコピーします/ lib eg rsync -avz /tmp/openssl-1.0-1.0.2.k-2-x86_64.pkg.tar/usr/lib//usr/local/lib

次に、Android Studioの起動スクリプトを編集します。 /opt/android-studio/bin/studio.shと変更: LD_LIBRARY_PATH = "$ IDE_BIN_HOME:$ LD_LIBRARY_PATH" "$ JAVA_BIN" 〜 LD_LIBRARY_PATH = "/ usr/local/lib:$ IDE_BIN_HOME:$ LD_LIBRARY_PATH" "$ JAVA_BIN "

+0

これは、openssl-1.0の新しいバージョンを手に入れるためには、変更を元に戻す必要があることを意味します。私は彼らがcmakeのバグを修正していると思います(https://issuetracker.google.com/issues/37102629を参照)。私の場合、修正されるまで待ってからopenssl-1.0を更新します。しかし、それはパッケージをダウングレードしたくない場合には良い回避策です:-)。 – JonesV

+0

Android Studioが更新されると、変更された起動スクリプトが検出され、上書きするかどうか尋ねられます。 – HDM

関連する問題