Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 升级到Proguard 4.8后无法导出应用程序_Android_Eclipse_Adt_Proguard_Android Library - Fatal编程技术网

Android 升级到Proguard 4.8后无法导出应用程序

Android 升级到Proguard 4.8后无法导出应用程序,android,eclipse,adt,proguard,android-library,Android,Eclipse,Adt,Proguard,Android Library,我刚刚将我的Android SDK、ADT和Proguard升级到最新和最棒的版本 我的项目在调试模式下编译构建并运行良好,但当我尝试导出已签名的版本APK时,我从导出向导收到一个错误,Eclipse控制台上没有任何错误日志消息* 如果我尝试通过Window->Show view->error log查看错误日志,我看到的都是相同的: 我不知道该怎么办,因为Eclipse和Proguard都不会给出任何关于问题可能是什么的提示 在最近的升级之前,我的项目导出良好。没有生成警告。没有线头警告

我刚刚将我的Android SDK、ADT和Proguard升级到最新和最棒的版本

我的项目在调试模式下编译构建并运行良好,但当我尝试导出已签名的版本APK时,我从导出向导收到一个错误,Eclipse控制台上没有任何错误日志消息*

如果我尝试通过
Window->Show view->error log查看错误日志,我看到的都是相同的:

我不知道该怎么办,因为Eclipse和Proguard都不会给出任何关于问题可能是什么的提示

在最近的升级之前,我的项目导出良好。没有生成警告。没有线头警告

我正在
${sdk.dir}\tools\proguard\proguard Android.txt
中使用Android的标准配置文件:

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

-dontoptimize
-dontpreverify

-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.app.backup.BackupAgent
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.app.Fragment
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * {
    native <methods>;
}

-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.app.Activity {
   public void *(android.view.View);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

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

-dontwarn android.support.**
以前有人见过这个问题吗? 你知道怎么解决这个问题吗

取得了一些进展?自从升级后,我第一次能够导出已签名的APK:

  • 我运行CCleaner清理Windows系统中的所有临时文件和缓存
  • 然后我重新启动了Windows 但令我沮丧的是,下次我再次尝试导出已签名的APK时,我收到了相同的
    无法导出应用程序
    ,并且没有控制台消息
    现在我很清楚Android开发工具已经变得不稳定了。我不能每次导出已签名的APK时都运行CCleaner并重新启动Windows。我不在乎是谁的错:Android SDK?ADT插件?前卫

    我现在该怎么办

    还有什么进展吗?我尝试在Proguard关闭的情况下导出已签名的APK。它导出了OK,但当我启动它时,它会因为找不到应用程序的活动类而立即崩溃(
    ClassNotFoundException
    )。这太奇怪了!它在调试模式下运行良好,如果应用程序的活动类不存在,它就不应该编译!发生什么事?最新和最伟大的Android开发工具是否已经损坏

    我试着按(和)中所述使用
    订单和导出
    选项卡,但没有效果


    现在该怎么办?

    尝试在eclipse中重新安装ADT插件

    错误日志如何。窗口->显示视图->错误日志。是独立于控制台输出的,错误代码1往往会显示在这里。

    您运行的是Windows XP,因此我不确定我是否能提供帮助(我运行的是64位Windows 7),但您对@Boe Dev关于“17个未解决的类引用”的评论让我想起了我最近经历的一次类似于您的升级:

    I通过在
    proguard.cfg
    中放置以下行:

    -dontwarn com.bta.myapp.MyAppActivity.R**
    
    不知道你的问题是否和我的一样,但也许值得一试

    编辑:请注意,即使关闭Proguard,您也会遇到问题,我可以提出以下建议吗

  • 从标准Java构建路径中删除库:右键单击项目名称>属性>Java构建路径>选项卡库>删除除“Android X.X”和“Android依赖项”之外的所有内容
  • 将库文件夹从“lib”重命名为“libs”。这样,Android插件就可以找到文件夹“libs”中的所有库,并将它们添加到项目的“Android依赖项”项中
  • 清理项目(考虑到Android开发工具的不可预测性,总是必要的)

  • 让我们知道它是如何工作的。

    这是对我有用的钥匙

    假设在ADT-15中已修复,解决方法是

    1) 对于每个X_src元素,右键单击它,然后单击Build Path>Remove from Build Path

    2) 将打开一个弹出窗口。确保选中“还取消文件夹与项目的链接”,然后接受它


    您仍然可以调试到库代码中,但需要管理这些项目中的断点,然后在类文件选项卡中单步执行代码。

    LOL.看起来像这样。也许OP也应该升级他的Eclipse?他没有提供任何关于日食版本的信息。@BillTheApe不是巫毒。前进地狱:@BillTheApe我的日食是3.6.2。这是个问题吗?如何重新安装我的ADT插件?我启动了Android SDK管理器,它显示,
    Android SDK工具
    Rev 19和
    Android SDK平台工具
    Rev 11已经安装并更新。如何使它们重新安装?请转到“帮助”>“关于eclipse”>“安装详细信息”,然后选择“ADT部件”并将其卸载。@Boe Dev谢谢。我就是这么做的,我不再得到“无法导出应用程序”,但现在我得到了一个以前从未见过的新错误
    Proguard返回,错误代码为1。请参见控制台
    ,控制台显示17个未解析的类引用。当然,所有这些课程都存在,所以我不知道它为什么会失败,以及从这里可以走到哪里。建议?谢谢你给了我片刻的希望。错误日志没有提供进一步的信息(请参阅原始帖子中的屏幕截图更新)。它在关闭proguard的情况下导出正常吗?是的,它在关闭proguard的情况下导出正常。但当我启动它时,它会因为找不到应用程序的活动类而立即崩溃(
    ClassNotFoundException
    )。这太奇怪了!!!它在调试模式下运行良好,如果应用程序的活动类不存在,它就不应该编译!发生什么事?最新和最棒的Android开发工具坏了吗?感谢+1让我有了片刻的希望。您的解决方案对我的情况没有帮助,但我在那之后所做的工作使我能够导出一个签名的APK,这是我升级后的第一次!以下是我所做的:(1)我运行了CCleaner来清理Windows系统中的所有临时文件和缓存,(2)然后我重新启动了Windows。成功了!但令我沮丧的是,下一次尝试导出时,我收到了相同的
    导出应用程序失败的消息,没有控制台消息!。现在我很清楚Android开发工具已经变得不稳定了。你怎么办
    
    -dontwarn com.bta.myapp.MyAppActivity.R**