2024年10月29日 (火)

QtでmacOSのUniversal Binary版をビルドする

えっと、macOSでUniversal Binary版をビルドするように変更したのでその説明をしてみようと思います。

  1. x64用とarm64用のソースコードを一度に指定する必要があるのでx64専用のソースコードはマクロ"__x86_64__"が定義されたときのみ、arm64専用のソースコードはマクロ"__aarch64__"が定義されたときのみ有効になるように変更
  2. ライブラリ名がx64とarm64で同じだとまずいのでlibvpx_x64.a/libcelt_x64.a、libvpx_arm64.a/libcelt_arm64.aと別名に変更
  3. qtbrynhildr.proで"QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64"と指定し、configにmacos-x64/macos-arm64を両方指定する

以下が修正差分です。

diff --git a/src/graphicsthread/decoder_vp8_avx.cpp b/src/graphicsthread/decoder_vp8_avx.cpp
index fce2bd69..a3c614ee 100644
--- a/src/graphicsthread/decoder_vp8_avx.cpp
+++ b/src/graphicsthread/decoder_vp8_avx.cpp
@@ -1,5 +1,6 @@
// -*- mode: c++; coding: utf-8-unix -*-
// Copyright (c) 2020- FunFun <fu.aba.dc5@gmail.com>
+#if defined(__x86_64__) // for Universal Binary

// Common Header
#include "common/common.h"
@@ -58,3 +59,5 @@ QImage* DecoderVP8AVX::getDesktopImage(int numOfThread)
}

} // end of namespace qtbrynhildr
+
+#endif // defined(__x86_64__) // for Universal Binary
diff --git a/src/graphicsthread/decoder_vp8_avx2.cpp b/src/graphicsthread/decoder_vp8_avx2.cpp
index 1941e794..71c77120 100644
--- a/src/graphicsthread/decoder_vp8_avx2.cpp
+++ b/src/graphicsthread/decoder_vp8_avx2.cpp
@@ -1,5 +1,6 @@
// -*- mode: c++; coding: utf-8-unix -*-
// Copyright (c) 2020- FunFun <fu.aba.dc5@gmail.com>
+#if defined(__x86_64__) // for Universal Binary

// Common Header
#include "common/common.h"
@@ -58,3 +59,5 @@ QImage* DecoderVP8AVX2::getDesktopImage(int numOfThread)
}

} // end of namespace qtbrynhildr
+
+#endif // defined(__x86_64__) // for Universal Binary
diff --git a/src/graphicsthread/decoder_vp8_neon.cpp b/src/graphicsthread/decoder_vp8_neon.cpp
index 5db4eda4..cb09f966 100644
--- a/src/graphicsthread/decoder_vp8_neon.cpp
+++ b/src/graphicsthread/decoder_vp8_neon.cpp
@@ -1,5 +1,6 @@
// -*- mode: c++; coding: utf-8-unix -*-
// Copyright (c) 2020- FunFun <fu.aba.dc5@gmail.com>
+#if defined(__aarch64__) // for Universal Binary

// Common Header
#include "common/common.h"
@@ -58,3 +59,5 @@ QImage* DecoderVP8NEON::getDesktopImage(int numOfThread)
}

} // end of namespace qtbrynhildr
+
+#endif // defined(__aarch64__)
diff --git a/src/graphicsthread/decoder_vp8_sse.cpp b/src/graphicsthread/decoder_vp8_sse.cpp
index e9070d22..e91403b2 100644
--- a/src/graphicsthread/decoder_vp8_sse.cpp
+++ b/src/graphicsthread/decoder_vp8_sse.cpp
@@ -1,5 +1,6 @@
// -*- mode: c++; coding: utf-8-unix -*-
// Copyright (c) 2020- FunFun <fu.aba.dc5@gmail.com>
+#if defined(__x86_64__) // for Universal Binary

// Common Header
#include "common/common.h"
@@ -58,3 +59,5 @@ QImage* DecoderVP8SSE::getDesktopImage(int numOfThread)
}

} // end of namespace qtbrynhildr
+
+#endif // defined(__x86_64__) // for Universal Binary
diff --git a/src/graphicsthread/yuv2rgb/yuv2rgb_avx.cpp b/src/graphicsthread/yuv2rgb/yuv2rgb_avx.cpp
index bffa2112..e5e8282b 100644
--- a/src/graphicsthread/yuv2rgb/yuv2rgb_avx.cpp
+++ b/src/graphicsthread/yuv2rgb/yuv2rgb_avx.cpp
@@ -1,5 +1,6 @@
// -*- mode: c++; coding: utf-8-unix -*-
// Copyright (c) 2018- FunFun <fu.aba.dc5@gmail.com>
+#if defined(__x86_64__) // for Universal Binary

// Common Header
#include "common/common.h"
@@ -515,3 +516,5 @@ void convertYUVtoRGB_SIMD_AVX_GSV(uchar *ytop, uchar* utop, uchar *vtop, uchar *
#endif // QTB_SIMD_SUPPORT

} // end of namespace qtbrynhildr
+
+#endif // defined(__x86_64__) // for Universal Binary
diff --git a/src/graphicsthread/yuv2rgb/yuv2rgb_sse.cpp b/src/graphicsthread/yuv2rgb/yuv2rgb_sse.cpp
index f674f316..177c5c78 100644
--- a/src/graphicsthread/yuv2rgb/yuv2rgb_sse.cpp
+++ b/src/graphicsthread/yuv2rgb/yuv2rgb_sse.cpp
@@ -1,5 +1,6 @@
// -*- mode: c++; coding: utf-8-unix -*-
// Copyright (c) 2018- FunFun <fu.aba.dc5@gmail.com>
+#if defined(__x86_64__) // for Universal Binary

// Common Header
#include "common/common.h"
@@ -906,3 +907,5 @@ void convertYUVtoRGB_SIMD_SSE_GSV(uchar *ytop, uchar* utop, uchar *vtop, uchar *
#endif // QTB_SIMD_SUPPORT

} // end of namespace qtbrynhildr
+
+#endif // defined(__x86_64__) // for Universal Binary
diff --git a/src/graphicsthread/yuv2rgb/yuv2rgb_sse_avx2.cpp b/src/graphicsthread/yuv2rgb/yuv2rgb_sse_avx2.cpp
index 0aaac5b9..a6372428 100644
--- a/src/graphicsthread/yuv2rgb/yuv2rgb_sse_avx2.cpp
+++ b/src/graphicsthread/yuv2rgb/yuv2rgb_sse_avx2.cpp
@@ -1,5 +1,6 @@
// -*- mode: c++; coding: utf-8-unix -*-
// Copyright (c) 2018- FunFun <fu.aba.dc5@gmail.com>
+#if defined(__x86_64__) // for Universal Binary

// Common Header
#include "common/common.h"
@@ -872,3 +873,5 @@ void convertYUVtoRGB_SIMD_AVX2_GSV(uchar *ytop, uchar* utop, uchar *vtop, uchar
#endif // QTB_SIMD_SUPPORT

} // end of namespace qtbrynhildr
+
+#endif // defined(__x86_64__) // for Universal Binary
diff --git a/src/pro/spec_celt.pro b/src/pro/spec_celt.pro
index 07a8ab54..faddf34b 100644
--- a/src/pro/spec_celt.pro
+++ b/src/pro/spec_celt.pro
@@ -9,3 +9,13 @@ celt {
else {
DEFINES += QTB_CELT_SUPPORT=0
}
+
+macos-x64 {
+ LIBS -= -L../libs/celt/$$BUILDARCH -lcelt
+ LIBS += -L../libs/celt/macos-x64 -lcelt_x64
+}
+
+macos-arm64 {
+ LIBS -= -L../libs/celt/$$BUILDARCH -lcelt
+ LIBS += -L../libs/celt/macos-arm64 -lcelt_arm64
+}
diff --git a/src/pro/spec_vp8.pro b/src/pro/spec_vp8.pro
index fde86aa7..4e2ff7ba 100644
--- a/src/pro/spec_vp8.pro
+++ b/src/pro/spec_vp8.pro
@@ -12,6 +12,16 @@ HEADERS += graphicsthread/decoder_vp8_cpp.h
SOURCES += graphicsthread/decoder_vp8_cpp.cpp
}

+macos-x64 {
+ LIBS -= -L../libs/vpx/$$BUILDARCH -lvpx
+ LIBS += -L../libs/vpx/macos-x64 -lvpx_x64
+}
+
+macos-arm64 {
+ LIBS -= -L../libs/vpx/$$BUILDARCH -lvpx
+ LIBS += -L../libs/vpx/macos-arm64 -lvpx_arm64
+}
+
# VP8-AVX2
vp8-avx2 {
SOURCES += graphicsthread/yuv2rgb/yuv2rgb_sse_avx2.cpp
diff --git a/src/qtbrynhildr.pro b/src/qtbrynhildr.pro
index 5a9d2856..edcd7c39 100644
--- a/src/qtbrynhildr.pro
+++ b/src/qtbrynhildr.pro
@@ -117,7 +117,8 @@ include (pro/os_freebsd.pro)
# ------------------------------------------------------------------------------
macx {
CONFIG += macos-x64
-#CONFIG += macos-arm64
+CONFIG += macos-arm64
+QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64
QMAKE_CXXFLAGS += -flto
}
include (pro/os_macos.pro)

2024年10月17日 (木)

Qt Brynhildr on Mac (arm64) Ver.2.5.3 Beta (dmg)

M1/M2/M3 (arm64) 用のbeta版パッケージを手動で作りました、Qt6.7.3で。x64版に比べてパッケージサイズが大きいのはUniversal Binary版のQtライブラリを同梱しているためだと思います。動作確認はM3 Mac Book Airで行いました。

将来的にはUniversal Binary版としてリリース予定です。

(追記 2024/10/29)

Universal Binary版のbeta版を追加しました。

[SHA256SUM]

68265458b66246bbd697dfd346d225916368ba17634d62956d812df457c402e6 *QtBrynhildr-macosx_arm64-v253.dmg 

df7044c90c1909a9ca5bc39c999a069f1669a555ade66264bbf5cd99514a3a97 *QtBrynhildr-macosx_universal-v253.dmg

2024年10月 9日 (水)

Ver.2.5.3 リリース

Ver.2.5.3をリリースします。

[パッケージ]

Windows(x64) (Windows 7以降)
Windows(x86) (Windows 7-10)
WindowsXP/Vista(x86)
Linux(x64)
Linux(x64) スタティックリンク版(Qt5.15.15)
Mac(x64)(dmg/pkg)

Windows(x64) (Windows 7以降) (ポータブル版)
Windows(x86) (Windows 7-10) (ポータブル版)
WindowsXP/Vista(x86) (ポータブル版)

以下からダウンロードできます。

https://github.com/funfun-dc5/qtbrynhildr/releases

 

主な変更は以下です。

[不具合修正]
・デスクトップ圧縮有効時に「フルスクリーン」メニューが無効とならない不具合修正

[その他変更]
・「ヘルプ」メニューにabout Qtを追加
・Coverity Scan解析結果反映(std::move())
・Qt6対応(64bitのみ)

WindowsXP/Vista対応版(x86)はQt5.6.3(VS2015)でビルドしました。
Linux(static)版は最新のオープンソース版であるQt5.15.15でビルドしました。
その他配布しているパッケージはQt5.15.2がサポートする環境で動作します。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
ada66dc1940bf6439a5a909e1c8af48ffa4b2777e465ab78f50c2bca47118ff0 *QtBrynhildr-linux_x64-v253.tar.xz
8ac44052a438d91881b3f1600536024b1339343cb37102990a93a56f6bdecd6c *QtBrynhildr-linux_x64-v253-static.tar.xz
00d56b74dc8195ce8518e9a8cad563a7e86a3fbffb97cf76bb2defae5317ee51 *QtBrynhildr-macosx_x64-v253.dmg
229c308eb4ecc652bfcfd7c9e146d92a73baa497d4a7cc0c3f6483f946512612 *QtBrynhildr-macosx_x64-v253.pkg
8976c762f29e2e648b2d2ea185c19ebfbd0f1ba1c9d26e7f58454798c1f8adf7 *QtBrynhildr-windows-v253-msvc.exe
69661af9be9ce893ee2b1fadb02b5bcc398b95a0a71d5eff86e6c2acd5106b2f *QtBrynhildr-windows-v253-msvc64.exe
5bf56e67c81daa8b455def1b9398911963d0147670d502ddf1d0b3d87e2c6901 *QtBrynhildr-windows-v253-msvc-xp.exe
d6922db826b8a1eb1b24d5edf2d0a7fede891e1f54f155d3b2e2b163fe2da51b *QtBrynhildr-windows-v253-Portable-msvc.exe
e1c66e6da460b2401a3b4d9c8889fb966f03c652da4bb57ba6fa9e2f1db20492 *QtBrynhildr-windows-v253-Portable-msvc64.exe
a8dea52a637266a4feef23235213277a1019f1a9e046570fe40fcdaf927a9f9c *QtBrynhildr-windows-v253-Portable-msvc-xp.exe

2024年9月 9日 (月)

Ver.2.5.2 リリース

Ver.2.5.2をリリースします。

Google Play版はリリース準備中です。(2024.9.10 リリース済み)

(追記)

Android14でアップデートに失敗するという報告がありました。現在調査中ですが、同様の現象があればお知らせいただけると助かります。

 

[パッケージ]

Windows(x64) (Windows 7以降)
Windows(x86) (Windows 7-10)
WindowsXP/Vista(x86)
Linux(x64)
Linux(x64) スタティックリンク版(Qt5.15.13)
Mac(x64)(dmg)
Mac(arm64)(dmg) beta版 (実機で動作確認してません。。。)
Android版(64/32bit)

Windows(x64) (Windows 7以降) (ポータブル版)
Windows(x86) (Windows 7-10) (ポータブル版)
WindowsXP/Vista(x86) (ポータブル版)

以下からダウンロードできます。

 

https://github.com/funfun-dc5/qtbrynhildr/releases

 

主な変更は以下です。

[不具合修正]
・CoverityScanの指摘事項対応(理論的には不具合とはならないのですが…)

 

WindowsXP/Vista対応版(x86)はQt5.6.3(VS2015)でビルドしました。
Linux(static)版は最新のオープンソース版であるQt5.15.13、Ubuntu 20.04 LTSでビルドしました。
その他配布しているパッケージはQt5.15.2がサポートする環境で動作します。

(追記)

Intel Macでarm64向けにクロスビルドしたM1/M2/M3用betaパッケージを置いてみました。動くか分かりませんが(^_^;

動作確認した方、報告をお願いいたします。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------

9d50770b2487ac2e64e1ebce9145e67e4ecdb81d23aa55bc7c243e708ab7cc4d *QtBrynhildr-android-v252.apk
2bdb9b0857d168cc80ee210051db07262c5dd00f23c10ab67e11693471c453a1 *QtBrynhildr-linux_x64-v252-static.tar.xz
0f3a22ee0879d31a9f73d407d00e08f0f211354972579d1afa39d59252c972ef *QtBrynhildr-linux_x64-v252.tar.xz
e4d6fccba2b358a782502c0759c32138c08c846dd1121b69b628c0db225deac5 *QtBrynhildr-macosx_x64-v252.dmg
421e8b98fca8fb5f081b45e8d57abd834c98e575eef7c52a8885523bfdebf84a *QtBrynhildr-macosx_arm64-v253-beta.dmg
0bcde5552de012f8c07155bfbe07190c3783788f064ecdac5dc9afd44814993a *QtBrynhildr-windows-v252-msvc.exe
3f1a964e447e86947cc1f345305ff36503b5d685874fbdb9586c57b578ac86a3 *QtBrynhildr-windows-v252-msvc64.exe
df2b3161bb0495efa09cd3813064fd0155a3927101d389cdb8172427d824ba08 *QtBrynhildr-windows-v252-msvc-xp.exe
5fa9d05b5c4c05c492cace5b60b5cad1d0120e28171a09337462716d99ea8744 *QtBrynhildr-windows-v252-Portable-msvc.exe
63fd1642fb3ecabbf8e51fba8b3559bdb0cb8b352247b0f5d0942da51270d762 *QtBrynhildr-windows-v252-Portable-msvc64.exe
b5f7b3824e3504cff09f01eb4d1d9851fc68f383c7ae51b6508f4e90f233e2a8 *QtBrynhildr-windows-v252-Portable-msvc-xp.exe

2023年11月25日 (土)

Verethragna(ウルスラグナ)のパブリックモードの仕様について

Brynhildrの作者KANEKOさんのページで次期リモートデスクトップのパブリックモードについて今後の予定が発表されました!!

 

「技術雑記 」(Verethragna(ウルスラグナ)の次の開発について。)

https://blog.x-row.net/?p=18574

 

着々と開発作業が進んでいるようです、今後が楽しみですね。いろいろなクライアントが開発されて、盛り上がると面白そうですよね。

2023年11月13日 (月)

Qt Brynhildr on M2 Mac Ver.2.5.1 Beta (dmg)

M1/M2 (arm64) 用のパッケージを手動で作りました、Qt6.6.0で。ただし、サウンド周りがダメダメなのでSound OFFのベータ版です。興味のある方向けです。

以下からダウンロードできます。

https://github.com/funfun-dc5/qtbrynhildr/releases

 

[SHA256SUM]

0180d9b4d152064d745494e3fd511d66a552731493515461be77fa36ea146df6 *QtBrynhildr-macosx_arm64-v251-beta.dmg

2023年10月 1日 (日)

Qt Brynhildr on M2 Mac

Qt Brynhildrのインテルバイナリ版はやはりRosetta 2上では動きませんでした。Qt6.5.3でApple Silicon版を作ればよいのかな…

(追記2023.11.4)

Qt6.6.0でM2 Apple Silicon版を作ってみました。

C++/NEONでコード修正なしでビルドできたので早速サーバに繋いでみたら音がボロボロです。celtライブラリのビルドをしくじったかなと思ったのですが、どうやらスピーカーのスペックが16ビット整数から32ビット浮動小数点に変わっているようです。とりあえず16ビット整数を32ビット浮動小数点に変換する処理を加えてみようと思います。

2023年3月 3日 (金)

Ver.2.5.1 リリース

Ver.2.5.1をリリースします。

タッチパネル版で致命的な不具合があったので修正しました。
Google Play版もバージョンアップ申請済みです。iOS版は動作確認中です。

 

(追記) なんとなく気持ち悪いので、その他のパッケージも2.5.1を作成しておきました。内容は2.5.0と全く変わりありません。

 

[パッケージ]

Android版(64/32bit)

 

以下からダウンロードできます。

https://github.com/funfun-dc5/qtbrynhildr/releases

 

主な変更は以下です。

[不具合修正]
・タッチパネル版でカーソル位置が不正確となる不具合修正

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
c7211636cd0991c1fa9658e61219aa0b4f687a8d2298bf95c325ba98afaa4835 *QtBrynhildr-android-v251.apk fdcd57c376c537cd8e7d3d2bf2cff05af5faae9bd51b8934118ead1ff7a5a142 *QtBrynhildr-linux_x64-v251.tar.xz
f0b619980ab5b5839935cb5d29a690a5d269e33afb1825f1fc938d6e308382d9 *QtBrynhildr-linux_x64-v251-static.tar.xz
06f44bf2e26648707e6e4176ed98cf91be13e33d962abd5dae18dea468a6ec0d *QtBrynhildr-macosx_x64-v251.dmg
a09668255dbd4f347cf2b71e3076fa8109f1c81e500eaa592fe947a0c087cc4a *QtBrynhildr-macosx_x64-v251.pkg
b6fbfb625ad2c0311744f4e616a15da9608253338046bc1a2a0ee8d5dd312031 *QtBrynhildr-windows-v251-msvc.exe
b33f289f758b6aed15596d7a31224144b64c1ff694b556f2048a3fced83680d2 *QtBrynhildr-windows-v251-msvc64.exe
3293a04a19b997c22e4f20636179f57adf0e00b2908d2675a84fd902430c26f8 *QtBrynhildr-windows-v251-msvc-xp.exe
98bf54ed3408b70078382cf0b19fae9fe239cdaea0ea25edb3feaa3d323daba6 *QtBrynhildr-windows-v251-Portable-msvc.exe
c0f1c3c6351670e358cee2f1e903039390f975b79461104da06c1dca6abdeeea *QtBrynhildr-windows-v251-Portable-msvc64.exe
81c0abccf3b2e41c1bc357432cf8b7b52905640b21069b7ab6b0855f9b0fa2fd *QtBrynhildr-windows-v251-Portable-msvc-xp.exe

2023年2月28日 (火)

Ver.2.5.0 リリース

Ver.2.5.0をリリースします。

タッチパネル版のFPS改善(特にスクリーンサイズが小さい時)を行いました。
またサウンド処理の微調整、終了時の確認ダイアログの動作不正修正を行いました。

Google Play版はリリース準備中です。iOS(App Store)版もリリース準備中です…(ちょっと時間かかるかも)

[パッケージ]

Windows(x64) (Windows 7以降)
Windows(x86) (Windows 7-10)
WindowsXP/Vista(x86)
Linux(x64)
Linux(x64) スタティックリンク版(Qt5.15.7) -> QtBrynhildr.iniのvSpaceを0に変更してください。
Mac(x64)(dmg/pkg)
Android版(64/32bit)

Windows(x64) (Windows 7以降) (ポータブル版)
Windows(x86) (Windows 7-10) (ポータブル版)
WindowsXP/Vista(x86) (ポータブル版)

 

以下からダウンロードできます。

https://github.com/funfun-dc5/qtbrynhildr/releases

 

主な変更は以下です。

[不具合修正]
・closeボタンで終了する時に確認ダイアログで終了がキャンセルできない不具合修正
・サウンド再生でノイズが発生する場合がある不具合修正

[その他変更]
・タッチパネル版のFPS及び操作性の改善
・タッチパネル版のインターフェースタイプにKeroRemote互換タイプ(上辺と下辺の2タイプ)を追加
・サンプリングレート情報をステータスバーに追加(デスクトップ版)
・ふるふるモードでマウスボタン操作を無効化
・ソースコード整理

WindowsXP/Vista対応版(x86)はQt5.6.3(VS2015)でビルドしました。
Linux(static)版は最新のオープンソース版であるQt5.15.7でビルドしました。
その他配布しているパッケージはQt5.15.2がサポートする環境で動作します。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
c591e30e28fc1f002afe2a6d3fef3c290dc1c7c96755194c32f6fc30940a04e8 *OpenSSL1.1.1t_DLL.zip
3f485bf29eca638a348b6c616331b9364790bc7718f22b8d25150e0f080a3519 *QtBrynhildr-android-v250.aab
ec9e40abcb3d0805ab676fa6f1cb9e0f653e4c71f7c24ddd8b95e999755f10c3 *QtBrynhildr-android-v250.apk
d41cc551a0a7f6da6dd1e85c91c0cf639e6ef31157e5d0f811d93404fe6aa487 *QtBrynhildr-linux_x64-v250.tar.xz
274b920d69cdfc8b2a0527706d12822fba78b4f22fc3c55b9b5fd43c0f7dc753 *QtBrynhildr-linux_x64-v250-static.tar.xz
bef803dc0a259aa6765d6bd77f1699c0cc352d482eff744b10f73d195bdd04d0 *QtBrynhildr-macosx_x64-v250.dmg
3e3e230fadbb9cef60afa7d1ea7b0ce9c625333ca2b21c96b5658cc47a64191b *QtBrynhildr-macosx_x64-v250.pkg
9e610ee6d9e2ad0e6cba345dc92f734aa976faa513cd19382bfbc89beb5486cf *QtBrynhildr-windows-v250-msvc.exe
d30d747532adec97c15f709302af04404186ae0a22d552135b235bcafd25e52d *QtBrynhildr-windows-v250-msvc64.exe
451b5cadc09da3bbcb3f9881c7aa768d10f96563444dbeea9f2a4fdbcab37650 *QtBrynhildr-windows-v250-msvc-xp.exe
6e4c70190483b95c25ff24f14d200e5fde3a8ed054430b9e3555b1bc86712283 *QtBrynhildr-windows-v250-Portable-msvc.exe
5b82bec55d020e91d0f56f110dc0c5152700c0b28939e781c510e9959be862e3 *QtBrynhildr-windows-v250-Portable-msvc64.exe
a9be0752bd4ce5c6c63df4f9790bfd2c00e61f95fe8839555a0d292b2ab9eda7 *QtBrynhildr-windows-v250-Portable-msvc-xp.exe

2023年2月 5日 (日)

Ver.2.4.9 Google Play版

Google Playであげたパッケージの権限周りがおかしいようです。確認中ですので少々お待ち下さい。

apk版もおかしいでしょうかね…

正常にインストールに出来ない場合もあるようです。現在オープンテスト版の審査待ちです。

(追記:2023.2.7)

パッケージを再作成した版 Ver.2.4.10をリリースしました。Androidだけの特別バージョンでVer.2.5.0-rc3相当の版です。

 

より以前の記事一覧

その他のカテゴリー