バックグラウンド
最近、NDKを使用してコードの開発を開始しましたが、NDKを使用して開発しているときに発生する可能性のある移植性の問題について考えました。
問題
NDKはネイティブコードを使用するため、CPUアーキテクチャごとにコンパイルする必要があります。デバイスのCPUに関係なく、ユーザーはアプリを実行する必要があるため、これは問題です。
私がこれまでに見つけた可能な解決策
ファイル「jni/Application.mk」を変更して、次を使用できることに気づきました。
APP_ABI:= armeabi armeabi-v7a x86
しかし、このステップから何をすべきかわかりません。アプリには、CPUアーキテクチャごとにコンパイルされたすべてのコードが含まれ、実行時に正しいコードが自動的に選択されますか?
また、未知の別のCPUアーキテクチャがある場合はどうなりますか?
Google TVでアプリを実行しようとするとどうなりますか?覚えていることによると、NDKはまったくサポートされていません。
私が見つけたもう1つの解決策は、マルチAPKサポートです。しかし、私にはわかりません。それはすべて、毎回異なる構成で同じAPKを作成することを意味しますか?それを支援するADTの特別な自動化ツールはありませんか?