web-dev-qa-db-ja.com

shrinkResources trueはInstant Apps機能では使用できませんか?

Feature APKのサイズを縮小しようとすると、shrinkResources true私の機能Build Gradleで。しかしそれは不満Error:Resource shrinker cannot be used for libraries.

この記事は私たちにそれを使用するように依頼します https://medium.com/jet-stories/make-your-app-instant-33855ab5d02b

私は何か間違ったことをしましたか、それとも本当にInstant Appsではサポートされていませんか?

12
Elye

記事から理解したこと(私はすぐに読んだところですが、まだリーディングリストで保留中です)から、shrinkResources trueはAPKサイズを 未使用のリソースを削除する だけ減らすために必要ですが、正式なものではありませんInstant Appsの要件。最終的なAPKがビルドされていないため、リソースがライブラリで使用されないかどうかをツールチェーンが判断できないと思います。

したがって、プロジェクトに未使用のリソースがない場合は、問題にはならず、削除できる可能性があります。

次に、プロジェクトで間違っている可能性があることが1つあります(Instant Appsを自分で試したことがなく、Googleを読んで見ただけIOトーク):私が理解しているところから、 Instant AppはライブラリではなくAPKです。したがって、shrinkResources trueをAPKに適用する場合は、問題ありません。プロジェクトにライブラリがあり、最終的なAPKモジュールのアセンブルに使用されている場合は、shrinkResources trueを削除して、モジュールのままにしておきます。

これはAndroidStudioのバグではなく、Gradleのバグだと思います。 Gradleの更新バージョン(以前はcom.Android.tools.build:gradle:2.2.3を使用し、それをcom.Android.tools.build:gradle:3.0.1にアップグレードしました)を使用して、Jenkinsでビルドしようとしています。それでもエラーが発生する

">リソースシュリンカーはライブラリには使用できません。"

1
Santacrab

Google issue trackerを参照

修正は .2 canary 1 に含まれ、その後リリースされます。

3.2カナリア3でもう一度試したところ、うまくいきました。プラグインのバージョンを3.2.0-alpha03に更新しましたか?見落としがちです。

問題が解決しない場合は、 Google issue tracker に報告してください。再度調査が行われます。

0
Prags