掲題の件について質問させて下さい。
BPのみで制作したプロジェクトをGoogle Play Store へのリリースにむけて
まずはベータ版のテスト!と思い、Android SDKの設定をして
Google Play ConsoleにUE4でパッケージ化してできたAPKファイルをなんとかアップロードするところまでできたのですが
このような警告メッセージがでてきました。
警告メッセージや、詳細リンク先[link text][3]にも書いてあるのですが
「2018年8月から、対象の少なくともAndroid8.0(APIレベル26)を、
そのアプリのアップデートは 2018年11月からのAndroid 8.0をターゲットにする必要がある」とあったので
**「今からリリースするアプリはAPIレベル26以上でないといけない(?)」**と理解し
APIレベルを26以上に変更しようと思ったのですが、やり方が分からず行き詰まっています。
APIレベルの変更方法を教えて頂けないでしょうか?
以下はここまでの手順です。
①KeyStoreの作成(こちらのUE4ドキュメント[link text][4]に沿ってやりました)
②GooglePlayConsoleアカウント と Googleペイメントのアカウントの登録
③APKファイルをベータ版にアップロードして警告(2枚目画像)
またやってみたことは
⇨ AndroidSDK設定(画像1枚目)の「NDK API Level」をAndroid-27に変更してパッケージ化
⇢失敗(エラーログにNDKのPlatformsに指定のものがありません)
とでたので
(※Android-21とAndroid-24はパッケージ化でるのですが同様のAPI警告がでます)
UE4ドキュメントの「追加のSDKをインストールする」[link text][5]の手順で
API27をインストール。
(ドキュメントに書いてあるという理由でSDKをインストールすればAPIの問題も解決すると思ってしまいました。)
しかし、NDKフォルダに変化はありませんでした。
根本的な原因がわからずにいます。
問題としてはこちらのフォーラム[link text][8]で質問されてる方と同じです。
ぜひお力添えのほど宜しくお願い致します。
Android開発のライブラリには SDK
と NDK
が存在します。
画像でインストールしているのは SDK
で、エクスプローラーで表示しているものは NDK
ですが、このあたりの認識は合っている、ということで良いですか?
新しい NDK
が必要な場合は、下記からダウンロードし、インストールする必要があります。
Android8.0対応となると、15c以降になりますね。
https://developer.android.com/ndk/downloads/
蛇足ですが、4.19に同梱されているのNVIDIA CodeWorks for Android 1R6でインストールされるNDKのバージョンは12bです。
(最新のCodeWorks1R7でも、NDKバージョンは14bとなっています)
リリースノートで公表されていない以上、UE4が対応できるかどうかはわからないので、4.19でAndroid8.0以降の対応を行うのはおすすめできないとは思います。
Unreal Engine 4.19 Release Notes
T_Sumisaki様
いつもご回答ありがとうございます!
SDKは開発キットで、NDKはアンドロイドのバージョン対応というざっくりですが違いの認識はしています。
インストールしたのはSDKで、NDKにもきっと反映されるのだと思っていました。。
Ver4.19を使う理由も特になく「新しい方が問題もなく安心して使えそう」という具合で選んでるのですが
バージョンを下げようと思った場合、Ver4.18でいいのでしょうか?
今から教えて頂いたURLよりダウンロードして一度Ver4.19で試してみます!
SDKはJavaによる開発キット(エミューレータなどはこっちに入っている)、NDKはネイティブ言語(C/C++)による開発キット(UE4はC++なのでビルドはこっち)です
UE4のバージョンを下げるのは更におすすめしません
今回の問題は4.19時点でNDKRev15c以降に公式対応していないことであり、UE4のバージョンを下げることで解決するものではありません
公式対応を待つのであれば、UE4.20以降で対応するのを待つのが正攻法でしょう
実機で試して動けばOKだとは思いますが…
SDKはJavaによる開発キット(エミューレータなどはこっちに入っている)、NDKはネイティブ言語(C/C++)による開発キット(UE4はC++なのでビルドはこっち)です
UE4のバージョンを下げるのは更におすすめしません
今回の問題はUE4がNDKRev15c以降に対応していないことであり、バージョンを下げて解決するものではありません
UE4.20以降で対応するのを待つのが正攻法でしょう
大きな問題なので、近い内に対応されるとは思います
新しいNDKを入れてビルドして、実機で動けば問題ないとは思いますが…
Platforms > Android
の設定にある Minimum SDK Version
Target SDK Version
は設定できていますか?
なるほどです!
なので以前のお答えの時のJava(中間言語)はリバースエンジニアリング(ハッキング)の可能性はあり、
ブループリント(C++)はネイティブ言語(機械語)なのでそこまで心配しなくていいという理解をしました!(あっていますでしょうか。)
また最新のNDKをインストールして、AndroidSDKに設定し直し
アップロードを試みたのですが、結果は同じでした。
どこが間違っているのでしょうか?
ご指摘頂けると幸いです。
早とちりしてしまいました。
>今回の問題はUE4がNDKRev15c以降に対応していないことであり、バージョンを下げて解決するものではありません
Ver4.19では解決できない問題ということですよね(汗)
T_Sumisaki様がおっしゃられるようにVer4.20まで待つことにします。
エピックさんに現問題だけお伝えしておきます。
ご回答ありがとうございました!
初めまして
今更かもしれませんが私も同じ状態になりましたが、
一応解決策?を見つけれたので書いておきます。
とりあえず、対象SDKを26にすれば、警告は出ないので、Androidの項目にある
「Target SDK version」を「26」にしてパッケージ化すれば警告は出なくなりました。
(SDKやNDKがそのままなのでホントに大丈夫なのか?とは思いますが……)
後は、SDKもNDKもデフォルトのモノを消し、
各サイトから最新のモノインストールしてパッケージ化した所、
NDK API Levelをandroid-26にしてもパッケージ化は成功しました。
fujiwara lily様
追記でのご回答ありがとうございます!
教えて頂いた設定をさっそく試させてもらったところ、こちらでもGoogleStoreに警告なく
アップロードすることができました!
ずっと行き詰まっていた部分だったので、助かりました。
海外のフォーラムでも同様に困ってる方がおられると思いますので
そちらは僕の方から情報の共有をしておきます。
ありがとうございました!