0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ionicをcapacitorで利用したりJavaのエラーに対応する

Last updated at Posted at 2023-02-13

ionicでCapacitorを利用する場合の簡単な実行方法をメモします。

あと、最新のJava環境でいろいろエラーでるのでその対応もメモ。

準備

もし、ionic-cliをインストールしてなければインストール。

npm install -g @ionic/cli

追加でnpm install -g native-runとしておいてもいいかもしれません。

プロジェクトの生成

プロジェクトを生成します。

ionic start ionic-website-cap blank --type=angular --capacitor

Androidで動かす

まず、プラットフォームを追加。

このときandroidフォルダが生成されます。

ionic capacitor add android

実行。

ionic capacitor run android

実行するとどのエミュレータ(端末)で動かすか確認してきます。エミュレータは自動で起動してくるようです。便利。

iOSで動かす

まず、プラットフォームを追加。

ionic capacitor add ios

このときiosフォルダが生成されます。

実行。

ionic capacitor run ios

Javaの環境調整

ionicのAndroid実行環境では、

  • Cordova環境はJava8(1.8)
  • Capacitor環境はJava11

が、標準となっているようです。
バージョンが合ってないとエラーがでることがあります。
そんなときは複数のJDKを切り替えながら利用する必要があります。

私の環境ではJDK11だとCordovaでもCapacitorでもとりあえず動きました(ビルドできました)。

JDKのインストールと切り替え(Mac)

Javaのバージョンの切り替えにはjenvなども使えますが、いちいちめんどいので、私は以下の方法で切り替えて利用しています。

インストールされているJDKの確認

/usr/libexec/java_home -V

私の環境の場合、下記のように表示されます。

    19.0.2 (x86_64) "Azul Systems, Inc." - "Zulu 19.32.13" /Library/Java/JavaVirtualMachines/zulu-19.jdk/Contents/Home
    17.0.3 (x86_64) "Oracle Corporation" - "Java SE 17.0.3" /Library/Java/JavaVirtualMachines/jdk-17.0.3.jdk/Contents/Home
    11.0.18 (x86_64) "Homebrew" - "OpenJDK 11.0.18" /usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
    1.8.331.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_331 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_331.jdk/Contents/Home

切り替え

.zshrcの中で、JAVA_HOMEを動的に指定し、バージョンを書き換えることで切り替えられるようにしています。

export JAVA_HOME=$(/usr/libexec/java_home -v 11)

1.8の場合は1.8と記述。

切り替えたあとはたらしくコンソールを開くか、sourceコマンドで値を反映する必要があります。

source .zshrc

古いJavaのインストール

古いJavaは下記のようにすればインストールされます(11の例)。

brew install openjdk@11

ただ、認識させるためには下記のようにシンボリックリンク等を手動で貼る必要があるみたいです。

sudo ln -sfn $(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

メモ

エラーのでるJavaのバージョンでionic capacitor add androidして生成したandroidのフォルダは一度削除したほうがいいでしょう(ファイル形式等のエラーがでる場合がある)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?