当前位置: 首页 > 面试题库 >

Android Studio-ProGuard“ java.io.IOException…bin \ classes(无此类文件或目录)”

司承业
2023-03-14
问题内容

因此,我是第一次运行ProGuard,但出现一个奇怪的错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:proguardRelease'.
> java.io.IOException: Can't read [C:\Users\Some\workspace\MyApp\app\bin\classes] (No such file or directory)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

这是我的礼物:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.1.0'

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.+'
    compile 'com.google.android.gms:play-services:4.3.23'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.viewpagerindicator:library:2.4.1@aar'
    compile group:'com.android.support', name:'appcompat-v7', version:'18.0.+'
    compile 'com.squareup.picasso:picasso:2.3+'
    compile 'com.github.castorflex.smoothprogressbar:library:0.4.0'
}

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}

我的proguard-rules.txt:

-injars      bin/classes
-injars      libs
-outjars     bin/classes-processed.jar
-libraryjars /usr/local/java/android-sdk/platforms/android-9/android.jar

-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider

-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
    public void set*(...);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.content.Context {
   public void *(android.view.View);
   public void *(android.view.MenuItem);
}

-keepclassmembers class * implements android.os.Parcelable {
    static ** CREATOR;
}

-keepclassmembers class **.R$* {
    public static <fields>;
}

-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

问题答案:

Android的摇篮插件已经指定了所有输入和输出你,所以你必须 指定-injars-outjars-libraryjars

此外,proguard-android.txtAndroid SDK中的文件会为您指定所有常规Android设置,因此您无需再次指定它们。

本质上,您的文件proguard-rules.txt可以为空,但任何应用程序特定的设置除外,以确保任何反射都能继续进行。



 类似资料:
  • 我正在使用mysql/mysql-server映像在docker中创建一个mysql服务器。因为我想自动设置我的数据库(添加用户、创建表),所以我创建了一个SQL文件来完成这个任务。为了自动运行该脚本,我使用这个dockerfile扩展了映像: 但出于某种原因,这种情况会发生: 如何修复此问题?

  • 问题内容: 我正在尝试在文件系统上创建文件,但我不断收到此异常: 我有一个现有目录,并且正在尝试将文件写入该目录。 获取异常: 我对该路径具有写权限,但是未创建文件。 问题答案: 打印完整的文件名或进入调试器。当我对这样的错误感到困惑时,这意味着我的假设和期望与现实不符。确保您可以 看到 路径是什么;它可以帮助您弄清楚哪里出了问题。

  • 问题内容: 我在Heroku上有一个Django应用。我在使用静态文件时遇到了一些问题(它们正在一个Heroku环境中加载,但没有在另一个环境中加载),因此我尝试了这里推荐的debug命令。 这是我的settings.py,与Heroku建议的一样: 无论我在Git存储库的根目录级别上是否实际上有一个目录“ static”(两种方式都对其进行了测试),都会收到错误消息。 有任何想法吗? 问题答案:

  • 问题内容: 我试图在Mac OS X EL Captain 10.11上使用Java 1.7 SDK和Hadoop2.7.1运行一个简单的单词计数MapReduce程序,并且在我的容器日志“ stderr” / bin / bash中得到以下错误消息:/ bin / java:无此文件或目录 应用日志 命令我正在运行 我的ENV变量是- 问题似乎是因为YARN对JAVA可执行文件使用的路径与您在O

  • 尝试在我的14.10版ubuntu上安装rJava包,使用以下代码 在重新安装jdk后,遇到了一些与jni相关的错误,包括jni问题,并尝试再次运行相同的代码,得到了该错误 寻找解决方案,找到所有建议(对于x64)执行这些命令的人 但这不起作用,我还能做什么?我会提供任何需要的细节。

  • 我想解码我从画廊拍的照片,但它有一个错误。我尝试过各种方法,但都没有成功。请帮我修改代码。 这是我的代码:https://pastebin.com/syWjqPDK } 这是logcat的结果