[英]Error while generating signed apk
我有旧的项目和密钥库文件,但是当我尝试创建签名的APK时,它会给出以下错误。
[2013-05-19 12:36:02 - xxxxxxx] Proguard returned with error code 1. See console
[2013-05-19 12:36:02 - xxxxxxx] Unable to access jarfile /Users/muhammadali/Documents/development
[2013-05-19 12:36:12 - xxxxxx] Proguard returned with error code 1. See console
[2013-05-19 12:36:12 - xxxxxx] Unable to access jarfile /Users/muhammadali/Documents/development
请帮助我为什么不能生成APK文件。
好吧,一些事情:
确保您的Proguard
是4.8
及更高版本。 有一个已知的错误导致4.7.
假设您正在运行最新版本的Proguard并且它仍然存在,请转到[android-sdk-folder]/sdk/tools/proguard/bin/proguard.sh
并进行以下更改:
更改:
java -jar $PROGUARD_HOME/lib/proguard.jar "$@"
至:
java -jar "$PROGUARD_HOME/lib/proguard.jar" "$@"
将此行添加到应用程序文件夹中的project.properties
文件中。
proguard.config=proguard.cfg
在应用程序文件夹中创建proguard.cfg
文件。
使用下面的内容填充您的proguard.cfg
文件(根据需要进行修改)。
-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -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.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keepclasseswithmembernames class * { native <methods>; } -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); public void onSearchButtonClicked(java.lang.String); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; }
转动Project -> Build Automatically
关闭转到菜单Project -> Clean...
并首先清理项目。
祝好运! 当您尝试上述所有步骤并完成它时,我将很乐意为您提供帮助。
我认为如果你在命令shell中使用它是最好的做法。
请参阅以下链接,其中包含您在eclipse或命令shell中执行所有必要步骤。
http://developer.android.com/tools/publishing/app-signing.html
首先你需要取消你的apk。
然后创建私钥
$ keytool -genkey -v -keystore my-release-key.keystore-alias alias_name -keyalg RSA -keysize 2048 -validity 10000
然后用私钥签署你的unsigned apk
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-releasekey.keystore my_application.apk alias_name
最后使用zip对齐,对齐你apk
$ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
上述文档中详细说明了这些步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.