Android 9 Pie 使ってみた

アナウンスしてる。

Android 9 Pie

Android 9 Pie: Powered by AI for a smarter, simpler experience that adapts to you

OTA来てたので入れる。

「アップデートのインストール」に30分くらいかかりました。

うん!

映えない隠れた機能が多いようなので少し使ってみてからまた書きます。

Android 9 Pie 使ってみた
【Android Pie】ナビゲーションバー の ホームボタン を ピル型 にする方法
【Android Pie】Google Digital Wellbeing を使う
【Android Pie】Auto-rotate (自動回転) OFF のときの挙動
【Android Pie】使いやすくなった音量設定
【Android Pie】スクリーンショット取得→編集 は「電源ボタン長押し」から


プレインストールアプリを削除する

ずっと、Nexus/Pixelシリーズの、素のAndroid OS を使ってきましたが、 今回、ドコモ版のGalaxy S8を周回遅れで購入しましたが、使わないベンダーやキャリアのアプリが頻繁に通知を送ってきます。

後付なおせっかい機能です。

Androidの煩わしさの原因に見えたりします。

以下、自己責任の不具合覚悟の方のみ。

OS OTAアップデート当たらないかもしれません。 キャリア依存。


// パッケージ名のリストをみる。
adb shell pm list packages -s

無効化できないアプリは、もう強制的に消してしまいます。


// パッケージを強制的に消す
adb shell pm uninstall -k --user 0 com.nttdocomo.android.applicationmanager

adb shell pm uninstall -k --user 0 com.nttdocomo.android.dhome

adb shell pm uninstall -k --user 0 com.nttdocomo.android.store

adb shell pm uninstall -k --user 0 jp.co.nttdocomo.lcsapp

adb shell pm uninstall -k --user 0 com.nttdocomo.android.voiceeditor (ドコモ文字編集)

adb shell pm uninstall -k --user 0 com.sec.android.inputmethod.iwnnime.japan

素のAndroid(Nexus/Pixelシリーズ)では表示されてた「パッケージ名」は、それ以外の端末では、表示できないようにされています。

ので、アンインストールしたい「アプリ名」が分かっていても、「パッケージ名」との紐づけができず困ったりします。

adb badge を使ってやるのも面倒なので、簡単にアプリ内から、「アプリ名」-「パッケージ名」のリストを見ましょう。


inline fun Context.listPackages() {
  val packages = packageManager
      .getInstalledApplications(PackageManager.GET_META_DATA)
      .sortedBy { it.packageName }

  packages.forEach {
    println(
        "%s %s %s".format(
            it.packageName,
            it.loadLabel(packageManager),
            it.uid
        )
    )
  }
}

OSアップデートや国内独自機能(NFC/トルカ?)など不具合が起こり始めるのだろうが、それを差し引いても快適で。

格安の素のAndroidを国内キャリアはなぜ出さないのかが謎。

Androidに関しては「付加価値を」とか「他社と違い」てなフレーズを使ったビジネスするしか?

いまどきのAndroid端末ってアプリのパッケージ名見れないのですか?
Package Info - Apps on Google Play


Gradle Dependency バージョンのチェックを「最新」に更新する方法

便利そうなのでました!

Android Developers Blog: Announcing new SDK versioning in Google Play services and Firebase

com.google.android.gms:play-services-*
com.google.firebase:firebase-*

に関しては、それぞれが独立したバージョンで記述してよい。

なので、以下のような「バージョンをを揃える」記述は不要。


buildscript {
    ext {
        play_version = '15.0.0'
    }
}

dependencies {
    // DON'T DO THIS!!
    // The following use of the above buildscript property is no longer valid.
    implementation "com.google.android.gms:play-services-auth:${play_version}"
    implementation "com.google.firebase:firebase-auth:${play_version}"
    implementation "com.google.firebase:firebase-firestore:${play_version}"
}

利用方法は以下2パターン。


classpath 'com.google.gms:google-services:3.3.0'

// 最終行
apply plugin: 'com.google.gms.google-services' 

かまたは、


classpath 'com.google.android.gms:strict-version-matcher-plugin:1.0.0'

// 最終行
apply plugin: 'com.google.android.gms.strict-version-matcher-plugin'

とのこと。

 

やってみたが...

エラー。

ビルドできず。


The library com.google.android.gms:play-services-measurement-base
is being requested by various other libraries at [[15.0.0,15.0.0], [15.0.2,15.0.2]],
but resolves to 15.0.2. Disable the plugin and check your dependencies tree
using ./gradlew :app:dependencies.

記述にはない「play-services-measurement-base」が

内部的に呼ばれてこけている。

メッセージに書いてある


./gradlew :app:dependencies

は実行すらできない。

それぞれは、Andrid Studioの自動チェックで最新のはずなのだが。

 

それぞれのバージョンを確認してみる

目視でGoogleリポジトリを確認。

Google's Maven Repository

AndroidStudioの自動チェックで最新版の「15.0.0」だと思っていたが

実は、古いバージョンのままだった。

実際は「15.0.2」が最新。

これに書き換えたらいけた。

しかし、AndroidStudioの自動最新バージョンチェック機能らしきは、

機能してなくね?

かまたは、微妙に古くね?

 

Lint「Newer Library Versions Available」 を確認する

「Preference」-「Editor」-「Inspections」 にある

「Lint」-「Newer Library Versions Available」

OFFになってるが。

Description
Newer Library Versions Available This detector checks with a central repository to see if there are newer versions available for the dependencies used by this project. This is similar to the GradleDependency check, which checks for newer versions available in the Android SDK tools and libraries, but this works with any MavenCentral dependency, and connects to the library every time, which makes it more flexible but also much slower.

「毎回チェックするのでとろい」ということで

デフォルトでOFFになっているのか。

毎回でなく適時、意図的に実行したい場合は、

「Analyze」-「Run Inspection by Name」からいきましょう。

 

グレーのハイライトと同時にツールチップで最新版である

「15.0.2」

をサジェストしてくれました!

【Android Studio】ビルド環境を安定した最新バージョンにする