Android Studioにgitプロジェクトがあり、BitBucketにリモートがあり、HTTPSの代わりにSSHを使用するように変更しました。 AtlassianのSourceTreeを使用してすべてを機能させることができますが、Android Studioでプロジェクトをプッシュしようとするたびに
プッシュに失敗しました:致命的:リモートリポジトリから読み取ることができませんでした。
誰が何が起こっているのかについての手がかりを持っていますか?
これはおそらくIntellijの問題です。キーはsshによってネイティブに管理され、Intellijには独自のsshプログラムがあります。
設定に移動して、git-> ssh実行可能ファイルを検索し、native
を選択します
ここに見られるように: IntelliJ IDEAのgit:リモートリポジトリから読み込めませんでした
Android StudioまたはIntelliJでGit SSH検証を行うには、次の2つの方法があります。設定-バージョン管理-Git-SSHで実行可能-「組み込み」または「ネイティブ」
ssh-keygen -t rsa
とにかく、リポジトリホスティングサービスで正しい公開キーを追加した後、両方の方法を使用できます。
SSH実行可能ファイルはNative
に設定されていましたが、SSHキーファイルのパスワードを設定したため、このエラーが発生していました。
Android studioでパスワードを指定する方法が見つかりませんでしたが、別のsolutionがあり、削除できます$ ssh-keygen -p
で実行できるパスワード。ファイルの場所を確認し、古いパスワードを入力して、新しいパスワードを空白のままにします。
Android Studio 3.1で同様の問題が発生しました
Preferences> Version Control> Git> SSH executableをBuilt-inからNativeに変更しましたが、助けにはなりませんでした。
その後、Android Studioを3.2にアップグレードし、Built-inに切り替えました。これにより、この問題は修正されました。
Github.comに移動してリポジトリを開き、USE HTTPS URLをコピーしますAndroidプロジェクトディレクトリ。gitフォルダーで設定ファイルを検索します。
構成ファイルで、github.comからコピーしたURL(httpsを使用)を以前のURLに変更します。設定ファイルを保存して、もう一度プッシュします。これは私のために働いた。
同じ問題が発生しました。 Android Studio。端末またはsthから通常の権限で実行すると、リポジトリをプッシュするために必要なローカルファイルを読み取ることができません。
解決策は、Android現在よりも多くの権限でStudioを再起動することです。
私はこの問題に出会い、ついに解決しました。設定には2つの重要なポイントがあります:Androidスタジオ:File-Settings-GitHub:「sshを使用してgitリポジトリをクローン」を選択しないAndroid studio:ファイル設定-Git:「SSH実行可能ファイル」に「組み込み」を選択します
gitHubのアカウントに既にあるSSHは、AndroidスタジオにあるSSHです。AndroidスタジオでSSHを見つける方法を忘れていますが、他の方法で見つけることができます
Preferences> Version Control> Git> SSH executableをBuilt-inからNativeに変更しても機能しない場合は、 設定>バージョン管理> GitHub> sshを使用してgitリポジトリのクローンを作成するCHECK IT
私は自分でこれに出くわしましたが、既存の答えは少し不完全でした。
tl; dr:Android Studio/IntelliJのSSHクライアントをビルトインからネイティブに切り替えると、問題が解決する場合があります(私にとってはそうでした)。
Android Studio(事実上特殊なIntelliJ IDEA)には独自の組み込みSSHクライアントが付属していますが、必要に応じてネイティブ(プラットフォーム/ OS依存)に切り替えることができます。これを変更するには、Android Studioオプションを開き、「git」を検索し、SSH実行可能ドロップダウンで「native」を選択します。
私の場合、Android Studio、but git Push
うまくいきました。ネイティブ(私の場合はOSX SSH)に切り替えることで問題が解決しました-Android Studio。からBitBucketにプッシュできるようになりました。
他の答えは主題に触れましたが、SSH実行可能ファイルとそれらが使用するキーの間でいくつかの混乱があったようです。
Android SSH実行可能ファイルの下のStudioヘルプ: