HarmonyOS開発における環境構築と一般的なトラブルシューティング

Ohpm環境変数の設定と導入

HarmonyOS開発を始めるにあたり、まずはパッケージマネージャーであるohpmの環境変数を設定する必要があります。macOSを使用している場合、シェルの設定ファイル(.bash_profileまたは.zshrc)に以下の内容を追記してください。

export HARMONY_SDK_ROOT=/Users/yourname/Library/Huawei/
export PATH=$HARMONY_SDK_ROOT/ohpm/bin:$PATH

設定ファイルを保存した後、以下のコマンドを実行して変更を即座に反映させます。

  • 設定ファイルが .bash_profile の場合: source ~/.bash_profile
  • 設定ファイルが .zshrc の場合: source ~/.zshrc

最後に、以下のコマンドでohpmが正しく認識されているか確認します。

ohpm -v

Ohpm利用時の主要なエラー対処

インストールタスクの失敗

ohpmのインストールや実行時に、権限に関連するエラーが発生することがあります。これは過去のNPMバージョンのバグに起因する場合があります。以下のコマンドを実行して、.npmディレクトリの所有権を現在のユーザーに修正してください。

sudo chown -R $(id -u):$(id -g) "$HOME/.npm"

レジストリ未設定エラー

プロジェクトのビルド時に「ohpm registry is empty」というエラーが表示される場合、リポジトリのアドレスが設定されていません。この問題を解決するには、DevEco Studioの設定画面を開きます。

パス: DevEco Studio -> Settings -> Build, Execution, Deployment -> Ohpm

「Optimize Config」を選択し、レジストリの設定画面にて以下のURLを入力して有効化してください。

https://repo.harmonyos.com/ohpm/

設定を保存後、プロジェクトを再度ビルドします。

実機およびエミュレータの動作不良

使用しているDevEco Studioのバージョン(特に3.1 Release)によっては、デバイス接続やエミュレータ起動に問題が生じる場合があります。

実機接続の不具合: USB接続を確認してもデバイスマネージャに表示されない場合、IDEのバージョン依存の可能性が高いため、DevEco Studio 3.1 Beta2などへのダウングレードを検討してください。

ローカルエミュレータの起動失敗: ローカルエミュレータの動作にはシステム要件を満たす必要があります。macOSの場合、メモリは8GB以上を推奨します。特にARMアーキテクチャのMacでは、macOSのバージョンが12.2以上である必要があります。これらの条件を満たしているのに動作しない場合、DevEco Studio自体のバージョンを見直す必要があります。

SDKバージョンの不一致によるエラー

アプリケーションのインストール時に INSTALL_PARSE_FAILED_USESDK_ERROR が発生する場合、開発環境のSDKバージョンと実行デバイスのAPIバージョンが合致していません。このエラーを解消するには、プロジェクトの compileSdkVersion および compatibleSdkVersion をデバイスのAPIバージョンに合わせる必要があります。

ただし、SDKバージョンによってビルドシステムとサポート言語が異なるため注意が必要です。

  • API 4〜7: Gradleベースのビルドシステム。将来的な Hvigor への移行を考慮すると、新規開発には推奨されません。
  • API 8〜9: Hvigorベースのビルドシステム。

サポートされる開発言語もAPIバージョンによって変動します(API 9以上はArkTSのみ、API 8はArkTSとJSなど)。バージョン変更による構造的な差異を避けるため、初学者は対象デバイスに合わせたSDKバージョンで新規プロジェクトを作り直すのが最も確実です。

デバイスAPIバージョンの確認方法

ターゲットデバイス(実機・エミュレータ)のAPIバージョンを確認するには、hdc ツールを使用します(adbと同様の用法です)。以下のコマンドを実行してください。

hdc shell getprop hw_sc.build.os.apiversion

出力された値が、そのデバイスのAPIバージョンとなります。

Hvigorプロジェクトの実行時エラー

Hvigorを使用するプロジェクトでは、APIバージョン7未満が設定されている場合にバリデーションエラーが発生します。例えば、APIバージョンを7より低い値に変更すると、「must be > 7」というエラーが表示されます。プロジェクトの設定ファイルにおいて、ターゲットデバイスのバージョンに適したAPIレベルが選択されているか確認してください。

HarmonyOSエミュレータ上でのAndroidアプリ実行

DevEco Studioのエミュレータは高機能であり、Androidアプリケーションを動作させることが可能です。既存のAndroidプロジェクトをHarmonyOSエミュレータで動かすには、CPUアーキテクチャの設定を調整する必要があります。HarmonyOSエミュレータはx86ベースであるため、Androidアプリの build.gradle に以下の設定を追加してください。

android {
    compileSdkVersion 33
    defaultConfig {
        ndk {
            abiFilters 'x86_64', 'x86'
        }
    }
}

これにより、Android Studioから直接HarmonyOSエミュレータへAPKをインストール・実行できるようになります。

IDEテーマ設定の共有

DevEco StudioとAndroid StudioはいずれもIntelliJプラットフォームに基づいているため、UIテーマの設定を共有することが可能です。Android Studioで気に入っているカラースキームがある場合は、その設定ファイルをエクスポートし、DevEco Studioへインポートすることで、統一された開発環境を維持できます。

5月21日 12:47 投稿