Android Studioでデバッグアプリケーションを試行すると、次のログ出力が表示されます。
APKファイル/Users/MyApplicationName/app/build/outputs/apk/app-debug.apkがディスクに存在しません。
Android Studioを再起動しましたが、この問題を解決できません。どうすれば解決できますか?ありがとうございました
Android Studioでデバッグアプリケーションを試行すると、次のログ出力が表示されます。
APKファイル/Users/MyApplicationName/app/build/outputs/apk/app-debug.apkがディスクに存在しません。
Android Studioを再起動しましたが、この問題を解決できません。どうすれば解決できますか?ありがとうございました
回答:
このオプションをクリックしてエラーを解決します。
Android Studio 3.1にアップデートしたときも、同じ問題に直面していました。私がここで見つけた他のすべての解決策は、毎回きれいにして再構築しなければならないので、まったく手動ではありませんでした。しかし、ここでイマン・マラシの答えのおかげで、私はそれを解決することができました。
実行->構成の編集...に移動します。
「起動前」セクションに「Gradle-aware Make」があることを確認してください:
これを追加するにはクリック+の記号を選択しGradleの対応にするとポップアップが表示されます、ちょうど空のテキストフィールドを残し、クリックOKとOK。
私の場合、「プロジェクトをGradleファイルと同期」を実行すると役立ちました。Andoid Studioを再起動したり、キャッシュをクリアしたりしても、何も起こりませんでした。
build.gradle
とは別のファイルにある命名スクリプトを変更した後、トリックは私に代わったので、Android Studioは自動的に変更を認識せず、同期するように要求しました。
File -> Sync Project with Gradle Files
stackoverflow.com/a/19932896/2527204
結論だけを知りたい場合は、最後のセクションに進んでください。ありがとう。
通常、プロジェクトのビルドが失敗した場合、いくつかの一般的なトリックを試すことができます。
しかし、問題をより具体的にするために-Android Studioがディスク上でAPKファイルを見つけられなかった場合 これは、Android Studioが実際にプロジェクトを正常にビルドし、APKも生成したことを意味しますが、何らかの理由で、Android Studioはファイルを見つけることができません。
この場合は、ログに従って、印刷されたディレクトリを確認してください。参考になります。
例えば:
Android Studio 2.0プレビュー(ビルド143.2443734)。
gitブランチを実行する
*(ヘッドは1a2bfffで切り離されています)
したがって、ここで、gradleビルドスクリプトの誤りが原因で、ファイルの名前付けがどういうわけか間違っていることがわかります。
上記の例は、同じ問題を引き起こす可能性のある1つのシナリオにすぎませんが、あなたと同じ根本原因である必要はありません。
そのため、ディレクトリを確認して(違いを見つけるため)、build.gradleスクリプトを確認することを強くお勧めします(apk名を以下のように変更できます)。
applicationVariants.all { variant ->
variant.outputs.each { output ->
def newFileName = "whatever you want to name it";
def apk = output.outputFile;
output.outputFile = new File(apk.parentFile, newFileName);
}
}
通常、gitブランチを切り替えるときに同様の問題が発生しました。私にとってAndroid Studio rm -rfv ~/Library/Caches/AndroidStudio*
をシャットダウンして再起動することがチケットです。
Android Studio 3.1.1で、[ファイル]メニューから[ファイル]を選択します。プロジェクトをGradleファイルと同期します。
Android Studio 3で[ファイル]メニューから[ファイル]を選択します。同期します。
次に、プロジェクトを再度実行します。
年は2018年です。AndroidStudioのバージョンは3.2.0 alpha3ですが、まだこの問題が発生します。上記のどれも私にとってうまくいかなかったので、ここに私の2セントがあります:
これが発生するたびに、コマンドラインからapkを生成するだけです。
gradlew assembleDebug
更新
フォルダ.AndroidStudio[version]
を削除し、すべての設定とキャッシュを失うことで問題が解決するようです
Unixのようなユーザー(Linux / MacOs X)の場合、〜/ .gradle / caches /を削除する代わりに、コマンドラインで次のように実行します。
$ cd path_to_you_project
$ touch build.gradle
次にAndroid StudioにAPKのビルドを依頼すると、gradleキャッシュ自体がリセットされます。
私の問題は、バージョン番号をAPKに追加していたことです。バージョン番号を変更してGradleを再同期すると、問題が解決しました。
def appendVersionNameVersionCode(variant, defaultConfig) {
variant.outputs.each { output ->
if (output.zipAlign) {
def file = output.outputFile
def removeApp = file.name.replace("app-", "")
def removeType = removeApp.replace("-release", "")
def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
output.outputFile = new File(file.parent, fileName)
}
def file = output.packageApplication.outputFile
def removeApp = file.name.replace("app-", "")
def removeType = removeApp.replace("-release", "")
def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
output.packageApplication.outputFile = new File(file.parent, fileName)
}
}
ビルド---> APKをビルドし、動作することを確認します
私の場合の問題は、テストメソッド名、クラス、またはパッケージが変更されていなくても、デバッグ構成が何らかの理由で無効になることでした。
ここで実行->構成の編集から構成を削除しました:
Androidスタジオは自動的に新しいものを作成します。
Linuxを使用している場合は、app / buildフォルダーに書き込み権限を設定してみてください。
私の問題は、ファイル名に分を含めることでした-生成されたファイルがappname_debug_0.9.0.1_170214_2217.apkのときにappname_debug_0.9.0.1_170214_2216.apkを探していたため、出力ファイル名コード(他の場所から取得)が2つの異なるポイントから明確に呼び出されていましたビルドで。
applicationVariants.all { variant ->
variant.outputs.each { output ->
def project = "appname"
def SEP = "_"
// def flavor = variant.productFlavors[0].name
def buildType = variant.variantData.variantConfiguration.buildType.name
def version = variant.versionName
def date = new Date();
def formattedDate = date.format('yyMMdd_HHmm')
def newApkName = project + SEP + /*flavor + */ SEP + buildType + SEP + version + SEP + formattedDate + ".apk"
output.outputFile = new File(output.outputFile.parent, newApkName)
}
}
私にとっての問題は、apkが存在するのに、どういうわけかそれが本当にapkを見つけられないことでした。
The APK file /Users/Paul/AndroidStudioProjects/android-tv-launcher/ui/build/outputs/apk/nameofapk.apk does not exist on disk.
Error while Installing APK
私がしなければならなかったのは、apk-copyの相対パスを右クリックするだけで、
adb install -r <paste of relative path>
そして、APKはインストールされており、行きました。この問題はOSXで発生しました。
ディレクトリ〜/ .gradle / caches /を削除します。Android Studioが開いている間にこれを実行してもかまいません。(午後の間違ったパッケージ名のインストールを参照してください)Android Studioで[プロジェクトをGradleファイルと同期]アイコンを押します。プロジェクトを実行すると、リモートパスが正しくなります。
回答を参照してください。AndroidStudioは、.apkの実行時にパッケージ名を間違って取得します
上記は何の助けにもなりませんでしたが、[ビルドツール]パネルで別のフレーバーに切り替えてから、必要なフレーバーに切り替えることでこれを理解しました。