web-dev-qa-db-ja.com

Android Studio 3のreactによって生成されたリソースの問題

最近Android Studio 3にアップグレードしました

gradle plugin: 3.0.0-beta2
gradle: 4.1

私たちのプロジェクトでは、「react-native」:「0.46.4」とcodepushプラグインを使用しています。

建物:

gradlew assembleStagingDebug

うまく動作しますが、プロダクションを構築しようとするとすぐに:

gradlew assembleProductionRelease

ProcessProductinoReleaseResourcesタスクのreactによって作成されたリソースが原因でエラーが発生します。

Issues:
 - ERROR: /Users/user/react/Android/app/build/intermediates/res/merged/production/release/drawable-hdpi/node_modules_reactnavigation_src_views_assets_backicon.png uncompiled PNG file passed as argument. Must be compiled first into .flat file.
 - ERROR:  failed parsing overlays
        at com.Android.builder.internal.aapt.v2.AaptV2Jni.buildException(AaptV2Jni.Java:154)

この問題に対する私の征服で、私は次のようなプロガードを無効にしてそれを試しました:

buildTypes {
        release {
            debuggable true
            minifyEnabled false
            shrinkResources false
        }
        debug {
            debuggable true
            minifyEnabled false
            println proguardFiles
        }
    }

しかし、運がありません。

何か案は? Androidリソースのこの.flat変換が実際に行われていること、およびStagingDebugタスク中になぜ行われないのかについての説明もありがたいです。

提示された回避策 ここ は最終的に私のために働きました。しかし、元の問題は私が思うに持続します。

update 28.3.2018Android studio 3.1 upgradeなのでこの:

WARNING: The option 'Android.enableAapt2' is deprecated and should not be used anymore. Use 'Android.enableAapt2=true' to remove this warning. It will be removed at the end of 2018

反応ページの問題はクローズされているので、回避策を廃止する前に代替案を探しています。

16
Mike T

Gradle.propertiesファイルに次の行を追加します。

classpath 'com.Android.tools.build:gradle:3.0.0'
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.Zip
Android.enableAapt2=false
17
user7532779

私の場合、Android.enableAapt2=false to gradle.propertiesでこれを修正するのに十分でした。

[UPDATE]これは確かに減価償却されています。したがって、別の解決策を試してみてください。

3
user1791914

アプリでも同様の問題が発生しました。 「Android」ディレクトリに移動して実行すると解決します

gradlew clean
0
Vipul

私の場合、compileimplementationに置き換える必要がありました。

変更app/build.gradle することが:

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.Android.support:appcompat-v7:23.0.1"
    implementation "com.facebook.react:react-native:+"  // From node_modules
}
0
azwar_akbar