問題タブ [android-guava]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - プログラム タイプは既に存在します: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
プロジェクトのコンパイル中にこのエラーが発生します。それはGuavaが原因であることがわかりました。これを取得する理由は、他のlibもGuava(Guavaのこのコンポーネント)を使用しているためです(おそらく他のバージョン、または単に複製されたものです)。どれかわかりません。ロギング中にパスワードを保存しながら、グアバを使用してハッシュを行っています。除外する必要があることはわかっていますが、何をどのように除外するのか正確にはわかりません。
guava - 前提条件の checknotnull アノテーションが null 警告を生成する
次の行
Androidスタジオで警告を出します
警告:(291, 44) 引数 'data.get(name)' は null の可能性があります
Preconditions のソース コードを見ると、次のようになります。
}
最初のパラメーターが null になることは許可されていないようです。
それに接続されているPRは次のとおりです: https://github.com/google/guava/commit/a890c444e55973384d1370b56afe1a02e7db9c3c
だから私は疑問に思います:
- 私がうまく構成しなかったAndroidスタジオに何かがありますか
- これはグアバのバグですか?
明らかに、nullチェックを行うと、パラメーターがnullになる可能性があると思われます
android - androidTestImplementation Google Truth 1.0 および実装 Google Guava 27.0.1 で満たされないバージョン制約
要するに
次の依存関係を追加してビルドするための最小限の新しいAndroid Studioプロジェクトを取得できません。
再現方法
これは私がやっている方法ですが、もちろん他の方法もあります。
- Android Studio 3.5.2 の場合:
- ファイル→新規→新規プロジェクト...
- 新規プロジェクトの作成ダイアログで:
- [電話とタブレット] タブ → [アクティビティを追加しない] → [次へ]
- 名前,パッケージ名,保存場所:好きなように
- 言語: Java
- 最小 API レベル: API 28
- このプロジェクトは Instant Apps をサポートします:無効
- 終了
- ./app/build.gradleで:
implementation 'com.google.guava:guava:27.0.1-android'とandroidTestImplementation "com.google.truth:truth:1.0"を 追加dependencies
- ExampleInstrumentedTest.javaでは
- を右クリックして、 Run 'ExampleInstrumentedTest'
class ExampleInstrumentedTestを選択します。
- を右クリックして、 Run 'ExampleInstrumentedTest'
予想される
テストに合格する
実際の
ビルド エラー:
このビルドの問題を修正するにはどうすればよいですか?