Proguard/r8 instructions missing
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 45/100
- issue の種類
- ドキュメント
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
調査の方向性
まず、issue にリンクされている Setup Instructions ページと Android ページを比較します。特に、欠落している ProGuard セクションへの参照を確認してください。このライブラリに必要な ProGuard/R8 の説明を文書化し、Android の手順が完成したセクションを指すようにします。リンクと文言に一貫性があることを確認してください。
索引モデルが issue の本文から書いたものです。
説明
From the Readme, I am following Setup Instructions, then Android. Here it says "pay special attention to the Android instructions for ProGuard." but the referenced Proguard section does not exist.
I have been using this library with R8 successfully in the past, but recently tried out full mode, and got following exception:
Non-fatal Exception: java.lang.ExceptionInInitializerError:
at java.lang.Class.newInstance(Class.java)
at com.google.api.client.util.Types.newInstance(Types.java:113)
at com.google.api.client.util.Data.newMapInstance(Data.java:550)
at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:766)
at com.google.api.client.json.JsonParser.parse(JsonParser.java:360)
at com.google.api.client.json.JsonParser.parse(JsonParser.java:335)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:79)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:73)
at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:460)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:603)
at org.totschnig.drive.sync.DriveServiceHelper.getFile(DriveServiceHelper.java:143)
at org.totschnig.drive.sync.GoogleDriveBackendProvider.requireBaseFolder(GoogleDriveBackendProvider.kt:403)
at org.totschnig.drive.sync.GoogleDriveBackendProvider.<init>(GoogleDriveBackendProvider.kt:420)
at org.totschnig.drive.sync.GoogleDriveBackendProviderFactory.fromAccount(GoogleDriveBackendProviderFactory.kt:19)
at org.totschnig.drive.sync.GoogleDriveBackendProviderFactory.fromAccount(GoogleDriveBackendProviderFactory.kt:12)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory.from-0E7RQCE(SyncBackendProviderFactory.kt:18)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory.access$from-0E7RQCE(SyncBackendProviderFactory.kt:12)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory$Companion.get-0E7RQCE(SyncBackendProviderFactory.kt:41)
at org.totschnig.myexpenses.sync.SyncAdapter.onPerformSync(SyncAdapter.kt:123)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:354)
Caused by java.lang.IllegalArgumentException: unable to create new instance of class kc.a because it is abstract and because it has no accessible default constructor
at com.google.api.client.util.Types.handleExceptionForNewInstance(Types.java:162)
at com.google.api.client.util.Types.newInstance(Types.java:117)
at com.google.api.client.util.Data.createNullInstance(Data.java:166)
at com.google.api.client.util.Data.nullOf(Data.java:134)
at com.google.api.services.drive.model.File.<clinit>(File.java:69)
at java.lang.Class.newInstance(Class.java)
at com.google.api.client.util.Types.newInstance(Types.java:113)
at com.google.api.client.util.Data.newMapInstance(Data.java:550)
at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:766)
at com.google.api.client.json.JsonParser.parse(JsonParser.java:360)
at com.google.api.client.json.JsonParser.parse(JsonParser.java:335)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:79)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:73)
at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:460)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:603)
at org.totschnig.drive.sync.DriveServiceHelper.getFile(DriveServiceHelper.java:143)
at org.totschnig.drive.sync.GoogleDriveBackendProvider.requireBaseFolder(GoogleDriveBackendProvider.kt:403)
at org.totschnig.drive.sync.GoogleDriveBackendProvider.<init>(GoogleDriveBackendProvider.kt:420)
at org.totschnig.drive.sync.GoogleDriveBackendProviderFactory.fromAccount(GoogleDriveBackendProviderFactory.kt:19)
at org.totschnig.drive.sync.GoogleDriveBackendProviderFactory.fromAccount(GoogleDriveBackendProviderFactory.kt:12)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory.from-0E7RQCE(SyncBackendProviderFactory.kt:18)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory.access$from-0E7RQCE(SyncBackendProviderFactory.kt:12)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory$Companion.get-0E7RQCE(SyncBackendProviderFactory.kt:41)
at org.totschnig.myexpenses.sync.SyncAdapter.onPerformSync(SyncAdapter.kt:123)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:354)
Caused by java.lang.InstantiationException: java.lang.Class<kc.a> cannot be instantiated
at java.lang.Class.newInstance(Class.java)
at com.google.api.client.util.Types.newInstance(Types.java:113)
at com.google.api.client.util.Data.createNullInstance(Data.java:166)
at com.google.api.client.util.Data.nullOf(Data.java:134)
at com.google.api.services.drive.model.File.<clinit>(File.java:69)
at java.lang.Class.newInstance(Class.java)
at com.google.api.client.util.Types.newInstance(Types.java:113)
at com.google.api.client.util.Data.newMapInstance(Data.java:550)
at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:766)
at com.google.api.client.json.JsonParser.parse(JsonParser.java:360)
at com.google.api.client.json.JsonParser.parse(JsonParser.java:335)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:79)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:73)
at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:460)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:603)
at org.totschnig.drive.sync.DriveServiceHelper.getFile(DriveServiceHelper.java:143)
at org.totschnig.drive.sync.GoogleDriveBackendProvider.requireBaseFolder(GoogleDriveBackendProvider.kt:403)
at org.totschnig.drive.sync.GoogleDriveBackendProvider.<init>(GoogleDriveBackendProvider.kt:420)
at org.totschnig.drive.sync.GoogleDriveBackendProviderFactory.fromAccount(GoogleDriveBackendProviderFactory.kt:19)
at org.totschnig.drive.sync.GoogleDriveBackendProviderFactory.fromAccount(GoogleDriveBackendProviderFactory.kt:12)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory.from-0E7RQCE(SyncBackendProviderFactory.kt:18)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory.access$from-0E7RQCE(SyncBackendProviderFactory.kt:12)
at org.totschnig.myexpenses.sync.SyncBackendProviderFactory$Companion.get-0E7RQCE(SyncBackendProviderFactory.kt:41)
at org.totschnig.myexpenses.sync.SyncAdapter.onPerformSync(SyncAdapter.kt:123)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:354)
- 主要言語
- Java
- スター
- 1.4k
- フォーク
- 476
- 平均マージ
- 10時間 47分
- マージ済み PR(30日)
- 3
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
googleapis/google-http-java-client のほかの issue
-
Core: Validate header names and values to prevent CRLF injection対応中かも @insaf021 が 106 日前に担当しました。 オープンpriority: p3
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
Core: XmlPullParser processes external DTD entities (XXE) — disable FEATURE_PROCESS_DOCDECL in Xml#createParser()対応中かも @insaf021 が 106 日前に担当しました。 オープンpriority: p3
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
Core: LowLevelHttpResponse not disconnected when HttpResponse construction throws RuntimeException対応中かも @insaf021 が 106 日前に担当しました。 オープンpriority: p3
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
type: cleanup
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
org.apache.http.conn.ssl.SSLSocketFactory is deprecated再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンpriority: p2 type: cleanup
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
googleapis/google-http-java-client の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
難易度 2/5 1時間未満 初心者へのやさしさ 84/100
cpp-best-practices/project_validator#251 ·
メンテナーはふだん 1 日以内に返信
-
backend enhancement
難易度 2/5 半日 初心者へのやさしさ 70/100
damodharg6/payledger#16 ·
-
[Bug]: An initiative list with no current entry logs an error on every change対応中かも @dwizard0 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信