本物「Jake Wharthon」さん、偽物「Jake Whaarton」になりすます

jitpack で配布しているライブラリに不必要な怪しい通信処理を入れて

Bintray -> jcenter() 経由で同じアーティファクトidで配布してる「Jake Whaarton」さん。

これは、神と呼ばれるJakeWarthonさんの偽物です。

Jake Wharthon → 本物
Jake Whaarton → 偽物

少し話題になってましたね。

A Confusing Dependency

A Confusing Dependency : androiddev

すると、本物JakeさんのTwitterが!!

Jake Whaarton(@JakeWharton)さん | Twitter

なりすましてます、本物が偽物に。

この話を、解説しています。

アーティファクトの整合性の話は別にして、jcenter() を常に最後に置くだけでなく、mavenCentral() をそれらの前に置くことも必要です。
JCenter と Bintray は、信頼できるアーティファクトホストではありません。理想的なのはそれらから何も取得しないことです。

上から読んでいくリポジトリ群指定の最下位にオープンすぎる jcenter() を置くべし、と言っています。


repositories {

  //...
  mavenCentral()
  jcenter()
}

しかし、ワロタ。

android - Why does the Google maven repository exist and when should I use it? - Stack Overflow

Gradleが参照するリポジトリの優先順位について - Qiita


NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion とかでた。

[Developer Preview Android P] NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion; inside of com.google.android.gms [79478779] - Visible to Public - Issue Tracker

If your app is targeting API level 28 (Android 9.0) or above, you must include the following declaration within the element of AndroidManifest.xml.

対策は以下。AndroidManifest.xml。


<application ...
  ....
  <uses-library
      android:name="org.apache.http.legacy"
      android:required="false" />

Project Configuration  |  Maps SDK for Android  |  Google Developers

今回は、GoogleMap SDK vs API-28(9.0/Pie) だったけど、他でも出そうで、使えそう。


Nullable(?) な Type で カラーリングが効かない Kotlin on GitHub

これ、

文法的なカラーリングが効かなくなる。

TestSyntaxColors.kt

この記述以降が壊れる。


AttributeSet?

TestSyntaxColors_OK.kt

これって、以前からじゃなく、最近の話だよね?

 

追記:2018-11-24

直ってる。

TestSyntaxColors.kt