web-dev-qa-db-ja.com

ionic Androidのビルドエラー:copyFileSync:destファイルに書き込めませんでした

私がコマンドを使用するとき:ionic cordova build Androidこれは私が得るものです:

cp:copyFileSync:destファイルに書き込むことができませんでした(code = ENOENT):/ Users/mehdigriche/work/cam1/test/platforms/Android/res/xml/config.xml

/Users/mehdigriche/work/cam1/test/platforms/Android/res/xml/config.xmlの解析に失敗しました(ノード:2306)UnhandledPromiseRejectionWarning:未処理のPromise Rejection(拒否ID:1):エラー:ENOENT:そのようなファイルまたはディレクトリはありません、「/ Users/mehdigriche/work/cam1/test/platforms/Android/res/xml/config.xml」を開きます

[10:50:14]糸くずが終わった

15
mehdigriche

次のフックをcordovaプロジェクトに追加します。 patch-Android-studio-check.js

  1. ファイルpatch-Android-studio-check.jsをディレクトリhooksプロジェクト

  2. プロジェクトのconfig.xmlに次の行を追加します。

    <platform name="Android">
        <hook src="hooks/patch-Android-studio-check.js" type="before_plugin_install" />
        <hook src="hooks/patch-Android-studio-check.js" type="before_plugin_add" />
        <hook src="hooks/patch-Android-studio-check.js" type="before_build" />
        <hook src="hooks/patch-Android-studio-check.js" type="before_run" />
        <hook src="hooks/patch-Android-studio-check.js" type="before_plugin_rm" />
    </platform>
    
  3. プラグインディレクトリを削除します。

    rm -rf plugins
    
  4. プラグインを再インストールします。

    ionic build
    
  5. プラットフォームAndroidを再インストールします。

    cordova platform rm Android
    cordova platform add Android@latest
    
21
dtmp

あなたのコマンド:ionic cordova build androird is wrong
次のことを意味すると思います:ionic cordova build Android

しかし、次のことも試してください:ionic cordova build --release Android

同じエラーが発生しました。2日間のデバッグの後、解決策を見つけました。

ディレクトリ内:platforms/Android/cordovaパスが正しくないため、Api.jsの場所オブジェクトを更新しました。

現在の場所オブジェクトは、私のApi.jsでは次のようになります。

    this.locations = {
    root: self.root,
    www: path.join(self.root, 'assets/www'),
    res: path.join(self.root, 'res'),
    platformWww: path.join(self.root, 'platform_www'),
    configXml: path.join(self.root, 'app/src/main/res/xml/config.xml'),
    defaultConfigXml: path.join(self.root, 'cordova/defaults.xml'),
    strings: path.join(self.root, 'app/src/main/res/values/strings.xml'),
    manifest: path.join(self.root, 'app/src/main/AndroidManifest.xml'),
    build: path.join(self.root, 'build'),
    javaSrc: path.join(self.root, 'app/src/main/Java/'),
    // NOTE: Due to platformApi spec we need to return relative paths here
    cordovaJs: 'bin/templates/project/assets/www/cordova.js',
    cordovaJsSrc: 'cordova-js-src'
};

これらの変更の後、アプリを構築することができました。 cordova-sqlite-storageのようなプラグインが原因でエラーが発生したため、それを削除してアプリをビルドしました。

私はそれが役立つことを願っています

15
Apophis

この問題を解決するには

cp:copyFileSync:destファイルに書き込むことができませんでした(code = ENOENT):/ Users/mehdigriche/work/cam1/test/platforms/Android/res/xml/config.xml

platforms/Android/resxmlという名前のフォルダーを作成します

8
Black Mamba

明らかに、Android +7を追加するといくつかのファイルが正しく生成されないため、次の方法でこの問題を解決しました。

まずプラットフォームを削除し、

ionic cordova platform rm Android

それから下位バージョンを再インストールします(6.3は私のために働きました)

ionic cordova platform add [email protected]
6
zuest

私は今朝同じ問題に直面しており、私の(むしろ抜本的な)解決策はこれでした:

  1. プラットフォームを削除します。
ionic cordova platform rm Android
  1. アプリフォルダーから次のフォルダーを削除します。platformspluginswww
  2. npm installを実行して、依存関係が使用可能であることを確認します
  3. プラットフォームを再度追加すると、この手順は上記の手順2で削除されたフォルダーを再作成します。
ionic cordova platform add Android
  1. 最後に、アプリをビルドします。
ionic cordova build Android
4
Richie254
ionic cordova rm platform Android

wwwおよびpluginsフォルダーを削除する

npm cache clean
npm install audit fix
ionic cordova build  Android
1
Siundu254

DtmpのAnswerに注意してください。hooksディレクトリの使用は非推奨のようです。代わりに「scripts」ディレクトリを使用する方が適切な場合があります。

ionic 2を使用してビルドを作成しようとすると、「hooks」ディレクトリを使用すると、フックjsが見つかりません。

1
Mark Thompson

想定

アンドロイード

この部分は単なるタイプミスです。

これをチェックしてください: https://github.com/ionic-team/ionic/issues/13702

これは既知の問題であり、まだ修正されていません!

0
MaxFot

あなたが同じ問題を克服し、解決策として書かれたすべての方法を試してみてください。この解決策を試してください。

  1. プロジェクトフォルダーのproject.jsonファイルを開きます。
  2. この"Android-versions" : "1.3.0"依存関係を追加します。
  3. Npm iを実行します。
  4. コマンドSudo ionic cordova run Androidを実行します

ハッピーコーディング!