android–ProGuard读取库目录

android–ProGuard读取库目录,第1张

概述我一直在努力解决这个问题.我正在尝试在IntelliJIDEA13.1.3中生成签名APK并在APK上运行ProGuard4.7但我无法摆脱以下错误:Error:ProGuard:[project_name]Error:Can’tread[C:\ProgramFiles(x86)\Android\android-sdk\tools\proguard\libs](Nosuchfileordirectory

我一直在努力解决这个问题.我正在尝试在IntelliJ IDEA 13.1.3中生成签名APK并在APK上运行ProGuard 4.7但我无法摆脱以下错误:

Error: ProGuard: [project_name] Error: Can’t read [C:\Program files (x86)\Android\androID-sdk\tools\proguard\libs] (No such file or directory)

错误消息前面有此消息:

information: ProGuard: [project_name] Reading library directory [C:\Program files (x86)\AndroID\androID-sdk\tools\proguard\libs]

该位置只有一个包含proguard.jar和另外两个jar文件的lib目录.我创建了一个空的libs目录,但之后又出现了更多的错误.

否则,混淆似乎正常工作,并且没有混淆,正确生成签名的APK.

AndroID SDK Build-tools版本为20.

这是proguard项目文件:

-libraryjars libs-keep class androID.support.v4.app.** { *; }-keep interface androID.support.v4.app.** { *; }-keep class * extends java.util.ListResourceBundle{    protected Object[][] getContents();}-keep public class com.Google.androID.gms.common.internal.safeparcel.SafeParcelable{    public static final *** NulL;}-keepnames @com.Google.androID.gms.common.annotation.Keepname class *-keepclassmembernames class *{    @com.Google.androID.gms.common.annotation.Keepname *;}-keepnames class * implements androID.os.Parcelable{    public static final ** CREATOR;}

UPDATE

似乎这个问题可以归结为proguard-project文件中的行-libraryjars libs.当我从proguard-project.txt中删除该行时,我设法用一个简单的测试项目正确生成签名APK.但是,当未删除-libraryjars库时,混淆失败.

如果在尝试在实际项目上运行ProGuard时剥离该行,则会产生更多错误.

解决方法:

谢谢你的回答,埃里克.

实际上,我已经解决了这个问题.到目前为止,还没有更新答案.

是的,proguard-project.txt中的-libraryjars是万恶之源.因为我遇到的一些示例配置,我只是把它包括在那里.

这是正常工作的配置:

-keep class * extends java.util.ListResourceBundle{    protected Object[][] getContents();}-keep public class com.Google.androID.gms.common.internal.safeparcel.SafeParcelable{    public static final *** NulL;}-keepnames @com.Google.androID.gms.common.annotation.Keepname class *-keepclassmembernames class *{    @com.Google.androID.gms.common.annotation.Keepname *;}-keepnames class * implements androID.os.Parcelable{    public static final ** CREATOR;}-keep public class com.Google.androID.gms.ads.**{   public *;}-keep public class com.Google.ads.**{   public *;}-keep class com.androID.vending.billing.**-dontwarn androID.support.v4.**-keep class androID.support.v4.** { *; }-dontwarn com.Google.androID.gms.**
总结

以上是内存溢出为你收集整理的android – ProGuard读取库目录全部内容,希望文章能够帮你解决android – ProGuard读取库目录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1107411.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存