java.io.IOException:Can't read [F:\..\android-support-v4.jar] (No such file or directory)
来自:http://stackoverflow.com/questions/26028171/android-studio-proguard-java-io-ioexception-bin-classes-no-such-file-or-d
操作:
在打包release模式的apk时,出现错误,但在debug中没有错误
错误信息:
Error:Execution failed for task ‘:artandroidclient:transformClassesAndResourcesWithProguardForRelease’.
java.io.IOException: Can’t read [F:\StudioProjects\artandroidclient\artandroidclient\libs\android-support-v4.jar] (No such file or directory)
详解:
The Android Gradle plugin already specifies all input and output for you, so you must not specify -injars, -outjars, or -libraryjars.
Moreover, the file proguard-android.txt in the Android SDK specifies all generic Android settings for you, so you shouldn’t specify them again.
Essentially, your file proguard-rules.txt can be empty, except for any application-specific settings to make sure any reflection continues to work.
如果遇到以下问题可能本质原因也是如此:
- Error:Execution failed for task ‘:app:packageRelease’. > Unable to compute hash of /../AndroidStudioProjects/../classes.jar
- Cannot make file java.io.IOException: No such file or directory
第一个问题,由于又重新引用android-support-v4.jar,但是没有这个jar文件,所以出错
第二个问题,因为在proguard-rules.txt/proguard-project.txt中读到下面这些,又去调用android-support-v4.jar,但是这些内容Android SDK已经帮我们做好了
解决方案:
我注释掉下面的代码在proguard-rules.txt/proguard-project.txt中,错误迎刃而解
-libraryjars libs/android-support-v4.jar
但是如果你在proguard-project.txt中,有以下语句也需要注释掉:
-injars bin/classes -injars libs -outjars bin/classes-processed.jar
下面这几行代码注释与否,不受影响:
-dontwarn android.support.v4.** -keep class android.support.v4.** { *; } -keep interface android.support.v4.app.** { *; } -keep public class * extends android.support.v4.**
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- Ubuntu编译Android(安卓)KitKat 4.4出现Chromium gyp HashSet_jn
- android之解析包时出现错误(二)
- android之点击回退键俩次退出程序
- Android之Handler的post注意事项
- android开发时 使用android layout editor 打开xml时eclipse自动
- Android仿硅谷商城实现购物车实例代码
- 四则运算第一次冲刺
- android viewpager2+tablayout+ConstraintLayout的坑