2021年11月11日

Ethernet No Internet access

Ethernet No Internet accessWindows10 Home 20H2, DELL Vostro 3491, YahooBB ADSL 有線接続
 直近半年ほど、ギガビットLANにもかかわらずファイル転送が止まったり再開したり。
 2度目のWindows11のアップデート誘導ダイアログが現れた後、間もなく画像のようなアイコンとなるもののインターネットアクセスできている状態。
 翌日、PCを起動し2時間ほど同じ状態で使用しているとインターネットアクセスできなくなる???LAN内のPCとは通信できる(SMB、RDP)。
 他のWiFi経由のスマートフォン、有線接続PCは正常なのでPC固有の問題。
 ネットワークアダプタは「イーサネット ネットワークアクセスなし」で、IPV4固定/DHCP、有効/無効 など試すものの効果なし。
 何故か IPV4固定で設定しても ipconfig でデフォルトゲートウェイが空欄でセットされない。

 解決方法は
[スタート]>[設定]>[ネットワークとインターネット]
[状態]>[ネットワークのリセット]
[今すぐリセット]
Windows再起動。これだけで改善。VirtualBoxの仮想ネットワークアダプタなど再設定が必要。

 ネット上には、ルーター再起動、レジストリ変更などの情報が見つかるが結果的には無関係。

2021年11月10日

I/Ads: Ad failed to load : 3

 Google AdMob から「広告配信が中断されないよう、早急にご対応をお願いいたします」メールが。 2019年5月に最終更新したアプリで、今になってインタースティシャル広告の「偶発的クリックを誘導するレイアウト - 予期しないタイミングでのインタースティシャル広告の表示」を直せと。 最近の Google WEB 広告のが偶発的な気が・・・
 対応ついでに、AdMob の最新バージョン「com.google.android.gms:play-services-ads:20.5.0」にアップグレード。 すると、広告テストIDにもかかわらず
InterstitialAdLoadCallback()
 ▼
onAdLoaded()
 ▼
com.google.android.gms.ads.AdError.getMessage()
 ▼
No ad config.
I/Ads: Ad failed to load : 3
原因は・・・▼

続きを読む "I/Ads: Ad failed to load : 3" »

2021年11月09日

事前セットアップ ×

マイナポイント マイナポイントのャッシュバックを Windows10 home + ICカードリーダ + Chromeブラウザで申請。このとき「マイナポイントの予約」から 事前セットアップ × と表示され進まない現象でヘルプ要請が。
 該当サイトは
https://id.mykey.soumu.go.jp/
で、「マイナポイント予約・申込サイト」のサブフォルダへリダイレクトされる。

続きを読む "事前セットアップ ×" »

2021年11月08日

VirtualBoxのゲストCentOS7ディスク一時追加

VirtualBoxのゲストCentOS7ディスク一時追加 一時的に大きな作業領域としてディスクを追加する記録。永続的な追加領域として使用する場合は、将来拡張することを想定して論理ボリュームを検討すべきかも。

VirtualBox 6.1.18
ホストOS : Windows 10
ゲストOS : CentOS Linux release 7.7.1908 (Core)[CentOS-7-x86_64-Minimal-1908.iso]
 ディスク追加の流れ...▼

続きを読む "VirtualBoxのゲストCentOS7ディスク一時追加" »

2021年11月07日

VirtualBoxのゲストCentOS7ディスク拡張

VirtualBoxのゲストCentOS7ディスク拡張 ディスク容量不足により追加でハードディスクを増設するリアルなサーバーと違い、仮想環境なのでOSインストール済の元々の仮想ハードディスクを 8GB から 16GB へ大きくする記録。

VirtualBox 6.1.18
ホストOS : Windows 10
ゲストOS : CentOS Linux release 7.7.1908 (Core)[CentOS-7-x86_64-Minimal-1908.iso]

 理解しておきたいキーワード
●LVM(Logical Volume Manager) : Linuxで当初HDDなどに直接ファイルシステムを割り当てて管理していたものが、物理ボリュームをまとめて仮想化されたボリュームグループとし それを論理ボリュームに分けて管理する仕組み。CentOSでは、デフォルト設定のインストールで論理ボリュームを使用。
●PV物理ボリューム(PisicalVolume) : 物理ディスク
●PE物理エクステント(Physical Extent) : PVを分割したLVMが管理する最小単位
●VGボリュームグループ(VolumeGroup) : PVを分割したPEの集まり
●LV論理ボリューム(LogialVolume) : ファイルシステムをマウントするデバイス(旧 /dev/sda1 相当)

 ディスク拡張の流れ...▼

続きを読む "VirtualBoxのゲストCentOS7ディスク拡張" »

2021年11月06日

国会議員の文書交通費 月100万はクーポンで三方よし

2021年11月05日

ffmpeg オプションTips

こちらのように android スマートフォンのスクリーン動画 myVideo.mp4 を軽量な GIFアニメーション myVideo.gif へ変換例。

ffmpeg -i myVideo.mp4 -vf scale=320:-1 -r 10 myVideo.gif
-vf scale=320:-1
縦幅比を維持して幅320ピクセルにリサイズ。
-r 10
フレームレートを10[fps]を指定しサイズに直結。

Windows 10
ffmpeg version 4.4-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers

2021年11月04日

gradleエラーその2

Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
エラーメッセージに示される
https://developer.android.com/guide/topics/manifest/activity-element#exported
によれば...▼

続きを読む "gradleエラーその2" »

2021年11月03日

Google ADmob sample bug ?

仮装大賞パネル 無料ジョークアプリ「仮装大賞パネル」へ google admob「アプリ起動時広告」を組み込む為、公式ドキュメント
https://developers.google.com/admob/android/app-open-ads?hl=ja
を参考にサンプルコード
https://github.com/googleads/googleads-mobile-android-examples/tree/master/java/admob/AppOpenExample
commit b54accd1c410a1bf8a5fdcd95a1b19d85d456ca7 (HEAD -> master, origin/master, origin/HEAD)
Date: Wed Sep 22 12:55:50 2021 -0700
をビルド。タイトルから起動時1回限り広告表示を想像させるこのサンプルは...▼

続きを読む "Google ADmob sample bug ?" »

2021年11月02日

アプリの軽微なアップデートをしたところ「非承認」???

 原因は Google Play ストア でのアプリ表示名称の末尾に「Free」が付いていたこと。
最初のリリースはパスしていた為、相変わらず抽象的な原因説明でアップデートに数日・・・。 有料版アプリと区別する為、ストア でのアプリの名称だけを「~ Free」から「~ Mini」に変更してアップデート「承認」。 現在では日本語「~ フリー」も個別に指摘されるので「~ ミニ」へ。
Google Play ストアに掲載するアプリ情報に関するガイドラインを改定します
2021年5月18日火曜日
https://android-developers-jp.googleblog.com/2021/05/updated-guidance-to-improve-your-app-quality-and-discovery-on-google-play.html
価格やプロモーションを示すキーワードを使用しないでください
 アプリケーションコードのパッケージ名称は無関係。

2021年11月01日

突然のgradleエラー

 数日前までデフォルトで新規プロジェクトをビルド出来ていた
Android Studio 4.2.2の Empty Activity
が突然 gradle エラー。
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-30).
Dependency: androidx.appcompat:appcompat:1.4.0.
AAR metadata file: C:\Users\wanko\.gradle\caches\transforms-2\files-2.1\b70a38d32b407cc6af29424a07f54027\appcompat-1.4.0\META-INF\com\android\build\gradle\aar-metadata.properties.
 解決方法を調べると...▼

続きを読む "突然のgradleエラー" »

2020年12月23日

Style Sheets + javascript でダークモード

 Webページをダークモードに対応。既存のスタイルシートと新たなダークモードスタイルシートを javascript で切り替えるアプローチ。
 デフォルトでシステム設定に従い、閲覧者の操作でライトモード・ダークモードを選択可能にする最小限の実装例...▼

続きを読む "Style Sheets + javascript でダークモード" »

2020年12月22日

レーダーアニメーション 2

 レーダーと言えば、魚群探知機や戦闘機で搭載される円形のレーダー。レーダーアニメーションの円形版の実装例。

続きを読む "レーダーアニメーション 2" »

2020年12月21日

VirtualDisplay for API 29

VirtualDisplay 実装例」を API 29 の Emulator で実行すると下記ランタイムエラー。
2020-12-21 01:28:56.035 3538-3538/asia.remix.virtualdisplay E/AndroidRuntime: FATAL EXCEPTION: main
    Process: asia.remix.virtualdisplay, PID: 3538
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=450066721, result=-1, data=Intent { (has extras) }} to activity {asia.remix.virtualdisplay/asia.remix.virtualdisplay.MainActivity}: java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4845)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
        at android.os.Parcel.createException(Parcel.java:2071)
        at android.os.Parcel.readException(Parcel.java:2039)
        at android.os.Parcel.readException(Parcel.java:1987)
        at android.media.projection.IMediaProjection$Stub$Proxy.start(IMediaProjection.java:231)
        at android.media.projection.MediaProjection.(MediaProjection.java:58)
        at android.media.projection.MediaProjectionManager.getMediaProjection(MediaProjectionManager.java:104)
        at asia.remix.virtualdisplay.MainActivity$1.onActivityResult(MainActivity.java:62)
        at asia.remix.virtualdisplay.MainActivity$1.onActivityResult(MainActivity.java:57)
        at androidx.activity.result.ActivityResultRegistry.doDispatch(ActivityResultRegistry.java:377)
        at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:336)
        at androidx.activity.ComponentActivity.onActivityResult(ComponentActivity.java:624)
        at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:164)
        at android.app.Activity.dispatchActivityResult(Activity.java:8110)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4838)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886) 
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
        at android.os.Handler.dispatchMessage(Handler.java:107) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7356) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
     Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.media.projection.MediaProjectionManagerService$MediaProjection.start(MediaProjectionManagerService.java:476)
        at android.media.projection.IMediaProjection$Stub.onTransact(IMediaProjection.java:135)
        at android.os.Binder.execTransactInternal(Binder.java:1021)
        at android.os.Binder.execTransact(Binder.java:994)
API 29 から、getMediaProjection()の前に、サービスではないが startForeground() が必要...▼

続きを読む "VirtualDisplay for API 29" »

2020年12月20日

常に前面に表示するオーバーレイ

 スクリーンコードアナライザで解析中のマーカーやレーダーアニメーションを他のアプリの上に重ねて表示する基本実装。

続きを読む "常に前面に表示するオーバーレイ" »

2020年12月19日

サービスのライフサイクル

 スクリーンコードアナライザではバックグラウンドで画面上のQR・バーコードを解析する為「サービス」を利用。
 このサービスのライフサイクルを理解するための Android 8.0 (API レベル 26) とAndroid 9.0 (API レベル 28) に対応した基本実装サンプル。

続きを読む "サービスのライフサイクル" »

2020年12月18日

レーダーアニメーション

 スクリーンコードアナライザで使用しているレーダーアニメーションの実装例。

続きを読む "レーダーアニメーション" »

2020年12月17日

署名付きBundre/APK作成時のLintエラー

Android Stidio 4.2.2

 いよいよ公開しようと Build > "Generate Signed Bundre or APK" でビルドすると
Execution failed for task ':app:lintVitalRelease'.
> Lint found fatal errors while assembling a release target.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
で失敗。対応方法は...▼

続きを読む "署名付きBundre/APK作成時のLintエラー" »

2020年12月16日

VirtualDisplay 実装例

VirtualDisplaycommit e87093e
VirtualDisplay の出力先を SurfaceView.getHolder().getSurface() として常に端末の画面で SurfaceView を更新するシンプルな例。

commit 2ba351b
次に VirtualDisplay 出力先を ImageReader.getSurface() として onClick で ImageView を更新する例。

 このままだと左に寄って機種によって例えば Galaxy S7 edge では画像のような現象が生じる。ImageReader.acquireLatestImage() で取得する Image.Plane の幅のピクセル数が
Image.getWidth() や DisplayMetrics.widthPixels の値より幅が広い。

commit 1b6140f
最終的にはImageReader.acquireLatestImage() で取得したサイズで ImageReader・VirtualDisplayを作り直すことで改善。

Github VirtualDisplaySample

続きを読む "VirtualDisplay 実装例" »

2020年12月15日

RequestMultiplePermissions()記述例

 こちら「deprecated 対応」の「ActivityResultContracts.RequestPermission()」の複数権限時の書き方。
...▼

続きを読む "RequestMultiplePermissions()記述例" »

2020年12月14日

deprecated対応

 権限チェックなどで使用する startActivityForResult(), onActivityResult(), requestPermissions(), onRequestPermissionsResult() が 非推奨(deprecated)ということで java でのアップデート記術例。
...▼

続きを読む "deprecated対応" »

2020年12月13日

FTPのみのレンタルサーバーをGitで更新したい

 ワードプレスで満足というかワードプレスでしかWEBコンテンツ作れない人が好んで選択する格安レンタルサーバ。 まもなく限界となりWEBアプリケーション構築となった時、ssh接続できない、Git管理できない。

 何百何千ものファイルをFTP管理しているつもりになって不要ファイルの肥溜めサーバーとなるのは火を見るより明らか・・・。 FTPでしかコンテンツを管理できないのを何とかできないか・・・ GitがFTPプロトコルをしゃべってくれれば良いものの今更FTPなのかクローンとフェッチのみ。

 調べてみると、git-サブコマンド(git-subcommand)を応用した "git-ftp" ツールが見つかります。さすが Git コマンドは奥が深い。
 前提 git-ftp version 1.6.0 早速 導入・・・▼

続きを読む "FTPのみのレンタルサーバーをGitで更新したい" »

2020年12月12日

おすすめ逆引き

Androidアプリ開発逆引きレシピ ISBN:9784798134512
第1章 ユーザーインタ ーフェース
第2章 コンポーネント
第3章 レイアウト
第4章 アプリ
第5章 画面操作
第6章 描画処理
第7章 マルチメディア処理
第8章 インターネット利用
第9章 SNSサービス
第10章 地図
第11章 デバイス
第12章 バックグラウンド動作
第13章 通知
第14章 連携処理
第15章 データ処理
第16章 データベース
第17章 公開
第18章 デバッグ
第19章 ライブラリの利用

続きを読む "おすすめ逆引き" »

2020年12月11日

CentOS-8.3.2011 64bit + ffmpeg 4.2.4

CentOS-8.3.2011 64bit に、ネット上の情報を元に ffmpeg をインストールしようとすると次のようなエラー。
conflicting requests
  - nothing provides libSDL2-2.0.so.0()(64bit) needed by ffmpeg-4.2.4-1.el8.x86_64
  - nothing provides libSDL2-2.0.so.0()(64bit) needed by libavdevice-4.2.4-1.el8.x86_64
 最終的なインストールの記録は...▼

続きを読む "CentOS-8.3.2011 64bit + ffmpeg 4.2.4" »

2020年12月10日

ラジコ仕様変更

 12月3日からエアーチェックサーバーラジコの録音をしなくなりました。
 NHK教育が離脱したくらいで ココ数年安定していたところ Adobe Flash の廃止に伴う 久しぶりの仕様変更。
 しばらく コマンドラインサウンドレコーダーでタイムフリーを録音して応急処置。
 ポッドキャストも直接ダウンロードしにくくなりつつあるこのご時世、一日も早くリアルタイムエアーチェックを復旧させたい。...▼

続きを読む "ラジコ仕様変更" »

2020年10月18日

文字解析情報を画像上に重ね合わせる

 ML(Machine Lerning) Kit のサンプルでは、静止画も含め リアルタイムで解析情報を画像上に重ね合わせる。映画やニュースで見かけるような。
 最小構成のデジタル数字認識サンプルに、ML Kit サンプルを参考に最小限の文字解析情報オーバーレイを実装する。
 変更点は こちら...▼

続きを読む "文字解析情報を画像上に重ね合わせる" »

2020年10月17日

Firebase を使用した MK(Machine Lerning) Kit サンプル

 Google Firebase のドキュメントからリンクされる公式リポジトリ quickstart-android
git clone git@github.com:firebase/quickstart-android.git
に含まれる MK Kit は、現時点でまともに動作しない。「ML Kit Vision Quickstart Sample App」と比較してソースも半分以上消えており 移行途中?・・・
 ネット上には Firebase を使用したMK Kit の断片的な利用情報が見つけられるので下記gitコマンドで
$ git -C ~/AndroidStudioProjects/github/quickstart-android log --diff-filter=D --summary
としてソース削除履歴を調べると

続きを読む "Firebase を使用した MK(Machine Lerning) Kit サンプル" »

2020年10月16日

Error: The apk for your currently selected variant is not signed.

 ML(Machine Lerning) Kit の学習のため 「ML Kit Vision Quickstart Sample App」をダウンロード、ビルド、実行。
$ git clone git@github.com:googlesamples/mlkit.git ~/AndroidStudioProjects/github/mlkit
Fri Oct 30 08:41:29 2020 -0700 時点のソース。
 このサンプルのプロジェクト(mlkit/android/vision-quickstart/)を Android Studio 4.0 で 「Open an existing Android Studio project」すると、gradle の同期に数分間(ADSL)。
 その後 build しようとすると 下記エラー(1)(2)。
Error: The apk for your currently selected variant (vision-quickstart-proguard.apk) is not signed. Please specify a signing configuration for this variant (proguard).
解決方法は...

続きを読む "Error: The apk for your currently selected variant is not signed." »

2020年10月15日

デジタル数字認識

 血圧測定できるスマートウォッチから、Bluetooth(ブルートゥース)で 計測値を取り込むのが王道?
 腕時計する習慣もなく、そもそも疑わしい測計値。せっかく家庭用の血圧計(omron HEM-737)があるので、この液晶表示をスキャンするだけなら便利かも。

 調べると Google Cloud Vision API、tess-twoライブラリ などが有名。現時点で Firebase の ML(Machine Learning) Kit が比較的 新しそう。クラウドに依存せず オフライン の スタンドアロン(オンデバイス/on-device) で動作することを確認済。
 公式のガイドが基本、前半の「画像内のテキストを認識する(Recognize Text in Images )」で留めるのがポイント。
https://firebase.google.com/docs/ml-kit/android/recognize-text
 ちなみに「ドキュメントの画像でテキストを認識する(Recognize text in images of documents)」を実装すると、実行時に停止し「Cloud Vision API」を有効にすることが促され、さらに Firebase 無料の spark から従量課金の Blaze プランへ誘導される。
 不完全な Kotolin 断片ソース か 切り分けしにくい大きなデモが多かったので、必要最小構成の実装例。
https://github.com/remixgrjp/OCR1
 Andorid Studio 4.0 の Basic Activity から、Firebase の設定を追加し オンデバイスで画像からテキストを認識する必要最小構成。

続きを読む "デジタル数字認識" »

2020年10月13日

DELL vostro 3491 の BIOS 1.11.0

 2020-09-24 に通知された DELL vostro 3491 の BIOS 1.11.0。
 前回は1度でアップデートされたが、今回インストール完了せず本日3度目。
 ファイルは
Inspiron_Vostro_5493_3491_1.11.0.exe
ということで、探すと
C:\ProgramData\SupportAssist\Client\Agent\Downloads\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
にダウンロードされているので、管理者権限で手動実行。
再起動後BIOS画面でアップデートされ無事完了。
***