Mik*_*e T 16 android gradle react-native code-push android-studio-3.0
我最近升级到Android Studio 3
gradle plugin: 3.0.0-beta2
gradle: 4.1
Run Code Online (Sandbox Code Playgroud)
在我们的项目中,我们使用:react-native":"0.46.4"与codepush插件.
建造:
gradlew assembleStagingDebug
Run Code Online (Sandbox Code Playgroud)
工作得很好,但一旦我尝试建立生产:
gradlew assembleProductionRelease
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,该错误是由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)
Run Code Online (Sandbox Code Playgroud)
在我对这个问题的征服中,我尝试了禁用proguard,如:
buildTypes {
release {
debuggable true
minifyEnabled false
shrinkResources false
}
debug {
debuggable true
minifyEnabled false
println proguardFiles
}
}
Run Code Online (Sandbox Code Playgroud)
但没有任何运气.
有任何想法吗?我还要感谢解释android资源的.flat转换在实际发生的地方发生了什么,以及为什么它在StagingDebug任务期间不会发生.
这里提出的解决方法最终对我有用.但我认为原始问题仍然存在.
更新28.3.2018自Android studio 3.1升级以来我得到了这个:
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
Run Code Online (Sandbox Code Playgroud)
由于反应页面上的问题已经关闭,我在寻找替代方案之前他们弃用了这种解决方法.
小智 18
在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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5038 次 |
| 最近记录: |