急げ! あと数時間しかないぞ!
持ってる知り合いを探して、クーポン発行をお願いする、なのか?!
詳細はよう分からんがお得なはず!!
急げ! あと数時間しかないぞ!
持ってる知り合いを探して、クーポン発行をお願いする、なのか?!
詳細はよう分からんがお得なはず!!
ずっと、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
きもいですよ。
こう書いていたり、
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
こう書いてたり、
dependencies {
implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"
implementation "com.android.support:design:$rootProject.supportLibraryVersion"
「変数を使ってまとめました!」とか言ってるけど。
きもいですよ。
そもそも、定義の位置がヘボいのですよ。
以下のように書いてました。
root/build.gradle
ext {
minSdkVersion = 24
targetSdkVersion = 27
compileSdkVersion = 27
buildToolsVersion = '27.0.2'
supportLibraryVersion = '27.1.0'
firebaseVersion = '11.8.0'
}
これのせいで、「${rootProject.firebaseVersion」とか「rootProject.ext.***」とかダラダラ書く羽目になるようです。
stackoverflow も今やゴミのだらけでどれが正しいのか分かりづらいです。
root/build.gradle
buildscript {
ext.buildConfig = [
'compileSdk': 27,
'minSdk': 24,
'targetSdk': 27
]
ext.versions = [
'supportLibrary': '27.1.0',
'kotlin': '1.2.30',
'okhttp': '3.10.0',
'retrofit': '2.3.0',
'kotshi': '1.0.1',
'dagger': '2.15',
]
ブロック buildscript {} 内に map ですっきり記述しています。
module/build.gradle
android {
compileSdkVersion buildConfig.compileSdk
defaultConfig {
minSdkVersion buildConfig.minSdk
targetSdkVersion buildConfig.targetSdk
versionCode buildConfig.versionCode
versionName buildConfig.versionName
}
}
// ....
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:${versions.kotlin}"
implementation "com.android.support:appcompat-v7:${versions.supportLibrary}"
implementation "com.android.support:support-v4:${versions.supportLibrary}"
implementation "com.android.support:design:${versions.supportLibrary}"
implementation "com.google.firebase:firebase-core:${versions.firebase}"
implementation "com.google.firebase:firebase-auth:${versions.firebase}"
定形なテンプレートとして使えます。
参照する際は、「rootProject」とか「ext」の単語は不要です。
関連の以下も必須だろうと思います。
👉 【Gradle Version Catalog】libs.versions.toml キー名の形式 camelCase vs kebab-case