目次
-
はじめに
-
修正のヒント
-
まとめ
はじめに
本記事では、Androidでよく発生するビルドエラーを修正するためのヒントを紹介していきます。
修正のヒント
※ 確認
SDKのパス設定は適切にできていますか?
問題が発生した時、パスが設定されていないか、間違ったパスを設定していることが多いです。:
- Android sdkのパスを設定して再ビルドする必要があります。
- パスの中にスペースが入っている場合もあるので、確認が必要です。
※パスを設定しても、ビルドツールバージョンがvisualizerのバージョンと対応していない場合にもエラーになります。
以下で、対応バージョンを確認できます。
https://docs.kony.com/konylibrary/visualizer/visualizer_user_guide/Content/SUG_Android.htm#Gradle-related
以下のAndroidビルドエラーが起きた時に見直すべき箇所
![スクリーンショット 2021-02-15 17.10.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/55451a31-2e79-7836-3d74-7a82c21779dd.png)The following error occurred while executing this line:
/Users/systena/KonyVizEWS/temp/konyStudy/build/luaandroid/build.xml:3282: exec-shell returned: 1
Ant build error=The following error occurred while executing this line:
/Users/systena/KonyVizEWS/temp/konyStudy/build/luaandroid/build.xml:3282: exec-shell returned: 1
The following error occurred while executing this line:
/Users/systena/KonyVizEWS/temp/konyStudy/build/luaandroid/build.xml:3282: exec-shell returned: 1
Package Generation failed for platform Android.
Build Generation Status
Android: Failed
1. デバイスのサポート設定が適切にされているか
-
使用している端末またはエミュレータのアーキテクチャと、Visualizerの設定が合っていない場合に発生することがあります。
-
KonyのProject Settingで設定を変更することで修正です。
Android端末に対応するサポートデバイスにチェックを入れるだけで解決します。 -
解決方法:
Project Setting > Native > Android >
- Support x86 Devices
- Support 64-bit Devices にチェックを入れます。
※使用しているエミュレータのアーキテクチャの確認は、エミュレータ起動後、以下のコマンドで確認することができます。(64bitか32bitかを確認できます)
$ adb shell getprop ro.product.cpu.abi
ビルドエラーではありませんが、apkインストールの際に、エミュレータの画面に以下のエラーが出た時も、同様の手順でエラーが解消される可能性があります。
Android APK [INSTALL_FAILED_NO_MATCHING_ABIS:Failed to extract native libraries、res = -113]
2. 画像の命名規則違反をしていないか
- 画像の名前は、小文字のa-z、0-9、アンダースコアを使うなどの命名規則に従って付けなければいけません。
試しに、"ProjectName" > resource > mobile > common に命名規則を無視した画像(ICON-123.png)を手動で入れてビルドしてみると、エラー1が発生しました。
画像は 小文字、アンダースコア、数字のみで設定しましょう:
誤 : icon_logout_PNK.png
正 : icon_logout_pnk.png
- アンダースコアの代わりにハイフンを使ったケース
誤 : icon-logout-pnk.png
正 : icon_logout_pnk.png
その他
- ビルドに成功してもFFIが動作しない
-
FFI(Foreign Function Interface)とは、あるプログラミング言語で書かれたアプリケーションが、他のプログラミング言語で書かれたメソッドや関数、サービスを利用するためのサポートを提供する仕組みです。
-
この仕組みを利用して、iOSやAndroidのネイティブSDKの関数を呼び出すことができます。また、FFIはサードパーティ製の様々なツールの統合にも利用されています。
この場合、FFIがうまく設定されていないことがあります。
以下を試してみてください。:
Edit > Integrate Third Party > Manage Custom Libraries > Finish をクリックする
この手順でFFIの設定を更新することができます。
まとめ
今回は、Androidのビルドエラーを修正するヒントをご紹介しました。Visualizerの設定で解消できるエラーもあるので、該当のエラーに遭遇した際はぜひ試してみてください。
この他にも、質問や別の解決策があれば是非教えてください!この記事があなたのお役に立つことを願っています
※ 今後新たにエラーが出た場合は、記事を更新していきます
参考
Kony Doc