
我一直在努力解决这个问题.我正在尝试在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读取库目录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)