【本当に32ビット?】Android端末の CPU の ABI を特定する

なんとなく選択していた OpenGApps の「Platform」.

The Open GApps Project

この「ARM」とか「x86」ての結局何なのか.

調べてみました.

概要

「ABI (Application Binary Interface)」とは, Android のプロセッサーにセットされた命令の種類で, mylib.so のようなネイティブCライブラリをアプリに組み込むときにABIを特定してコンパイルする必要がある.

app/libs/armeabi/mylib.so
app/libs/x86/mylib.so

大きく3つのカテゴリに分けられる.


ARM
	- armeabi
	- armeabi-v7a
	- arm64-v8a
X86
	- x86
	- x86_64
MIPS
	- mips
	- mips64

それぞれのカテゴリ内は下のもののほうが新しく一般的に下位互換なので, arm64-v8 では armeabi-v7a 向けのアプリを使うことができる.

armeabi-v7a が多いが最近は arm64-v8a が増えてきている雰囲気.

Arm Arm64 x86 Selection Guide for Android -iTechify

Genymotionなどのエミュレータ や ASUS Zenphone 2 は x86 らしい.

端末のABIを特定する

コマンドラインから眺めてみたりしてましたが,

shell@mako:/ $ cat /proc/cpuinfo
Processor : ARMv7 Processor rev 2 (v7l)
processor : 0
BogoMIPS : 13.53
...

こっちの方が良さげ.

shell@mako:/ $ getprop | grep cpu
[ro.product.cpu.abi]: [armeabi-v7a]
[ro.product.cpu.abi2]: [armeabi]
[ro.product.cpu.abilist]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: []

How to identify the android device is 32-bit or 64-bit ? | Intel® Software

コード内で取得するにはそれぞれ以下で.

Build.CPU_ABI | Android Developers

Build.CPU_ABI2 | Android Developers

Build.SUPPORTED_ABIS | Android Developers

まとめ

私のAndroidには「ARM」を選択しますわ!


日本語設定では見ることができない本当のAndroidバージョン別のシェア率

Android のバージョン別の利用割合をみるとき,

みますよね, ここ.

ダッシュボード | Android Developers

%e3%82%bf%e3%82%99%e3%83%83%e3%82%b7%e3%83%a5%e3%83%9b%e3%82%99%e3%83%bc%e3%83%88%e3%82%99___android_developers

ところが, ここにアクセスすると,

Dashboards | Android Developers

dashboards___android_developers

当然数字も違いますよね.

URLを見てみると, 微妙に違ったりします.

../dashboards/index.html?hl=ja

../dashboards/index.html?hl=en

パラメータだけでなく, 他の何かも影響してる雰囲気.

../dashboards/index.html

画面の下にあるプルダウンから言語変えてみるのもいいみたいです.

%e3%82%bf%e3%82%99%e3%83%83%e3%82%b7%e3%83%a5%e3%83%9b%e3%82%99%e3%83%bc%e3%83%88%e3%82%99___android_developers

なんだか気持ち悪いので, スクリプトにしておきますね.

version_android

Android バージョンやコードネームなどからのシェアの一覧取得


通知が表示されない とかどうせブロックの設定だろ! → 原因「フィルター」

「通知をONにしているのに表示されないんだけど...」

ありますよね!

実際, 設定が多すぎて分かりづらいです.

ネット上の情報も, OSバージョンや機種の違いなどでさらに混乱します.

とりあえず, すべての設定項目を列挙してみます.

そのアプリ内での「設定」

そのアプリの中の「設定」をONにします.

LINEの場合は以下のような画面ですね.

20161125-152024

OSの設定「アプリ」から

OSの「設定」アイコンから「アプリ」を選択.

そして対象アプリを選択後,「通知を表示」のチェックボックスをONにします.

20161125-153800

ネット上にこの設定の話がたくさんありますが, Android 6.x (Marshmallow) では, このチェックボックはなかったりします.

OSの設定「通知」から

OSの「設定」アイコンから「通知」を選択.

「ヘッドアップ」「端末がロック」とよくわからない言葉が表示されていますが, とりあえず上から2つをONにしていきます.

20161125-154834

続いてその下の「アプリの通知」をタップして対象のアプリを選択して

「ブロック」はOFFに, ロック画面に表示」をONにします.

20161125-155321

この画面は, Android 6.0 では, こんな画面なので, 1つOFF, 2つONにします.

20161125-160017

続いて, 私がはまっていた「フィルタリング」の設定です.

通知バーが表示されたときに, 長押しからなんとなくこの「フィルタリング」を押してしまっている人が多いのではないかと思います.

20161125-161030

簡単に非表示にできるわりには, 再度表示させるときの設定がわかりずらいです.

先ほどの「通知」の画面で「通知のフィルタリング」をタップします.

20161125-161447

「フィルタリング(無視して表示しない)」している通知が一覧で表示されます.

20161125-161727

この中から復活表示したい通知をタップすると, 無視された回数などが表示されますので, ここで「削除」を押すとフィルターから除外されて表示されるようになります!

20161125-162824

まとめ

「通知する」をONにしたあと, 「ブロック」と「フィルター」をOFFにする.

OS設定は「設定-通知」と「設定-アプリ」の2つの中のどこかにある.

設定多すぎ.

👉 【Android10/11】通知が来ない、遅れるときに見直すべき「電池(バッテリー)の最適化」 

👉【Android Pie】「通知」設定のシンプルな考え方