私がコマンドを使用するとき: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]糸くずが終わった
次のフックをcordovaプロジェクトに追加します。 patch-Android-studio-check.js
ファイルpatch-Android-studio-check.jsをディレクトリhooksプロジェクト
プロジェクトの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>
プラグインディレクトリを削除します。
rm -rf plugins
プラグインを再インストールします。
ionic build
プラットフォームAndroidを再インストールします。
cordova platform rm Android
cordova platform add Android@latest
あなたのコマンド: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のようなプラグインが原因でエラーが発生したため、それを削除してアプリをビルドしました。
私はそれが役立つことを願っています
この問題を解決するには
cp:copyFileSync:destファイルに書き込むことができませんでした(code = ENOENT):/ Users/mehdigriche/work/cam1/test/platforms/Android/res/xml/config.xml
platforms/Android/res
にxml
という名前のフォルダーを作成します
明らかに、Android +7を追加するといくつかのファイルが正しく生成されないため、次の方法でこの問題を解決しました。
まずプラットフォームを削除し、
ionic cordova platform rm Android
それから下位バージョンを再インストールします(6.3は私のために働きました)
ionic cordova platform add [email protected]
私は今朝同じ問題に直面しており、私の(むしろ抜本的な)解決策はこれでした:
ionic cordova platform rm Android
platforms
、plugins
&www
npm install
を実行して、依存関係が使用可能であることを確認しますionic cordova platform add Android
ionic cordova build Android
ionic cordova rm platform Android
wwwおよびpluginsフォルダーを削除する
npm cache clean
npm install audit fix
ionic cordova build Android
DtmpのAnswerに注意してください。hooksディレクトリの使用は非推奨のようです。代わりに「scripts」ディレクトリを使用する方が適切な場合があります。
ionic 2を使用してビルドを作成しようとすると、「hooks」ディレクトリを使用すると、フックjsが見つかりません。
想定
アンドロイード
この部分は単なるタイプミスです。
これをチェックしてください: https://github.com/ionic-team/ionic/issues/13702
これは既知の問題であり、まだ修正されていません!
あなたが同じ問題を克服し、解決策として書かれたすべての方法を試してみてください。この解決策を試してください。
project.json
ファイルを開きます。"Android-versions" : "1.3.0"
依存関係を追加します。Sudo ionic cordova run Android
を実行しますハッピーコーディング!