之前只是写代码,没打包过。今天配置好打包文件准备打包生成key,报错了,说-jar找不到、、好上火,转而检查路径,进dos看看是不是Jdk没装好或者有中文路径;检查过后一切ok,这就怪了。 环境是去年搭建的,按道理说不应该有问题--Eclipse+adt+sdk,最传统的搭建方式。然而,我用adt-buddle导出的时候竟然是可以的!!!这至少说明了我写的混淆配置文件是OK的。
难道说这个配置不行了???? 其实我深信的确是环境的问题,但是我又找不到问题根源,网上一大堆的类似问题都是一些不相关的解释。
准备好adt-buddle之后,看了看,缺少SVN插件,公司用这个;好,
help-install new software SVN- http://subclipse.tigris.org/update_1.6.x 直接加载竟然不行!!!!好吧,我承认有可能是网络的问题。然后纠结了半天我就一个一个文件的下载,竟然可以!! 你这是要闹哪样、、
其中git已经内嵌在里面了;
还有,里面只有一种版本的sdk,最高版本--18;但是有点忒高,在线更新又太慢,咋办--- 好办,把你之前的sdk目录下面的platform下的sdk的各个版本都原样copy到现在的sdk-platform目录下,一切照旧,建立工程的时候就会显示原来自己常用的sdk版本。
附录自己的 打包混淆的配置文件--proguard.cfg:
难道说这个配置不行了???? 其实我深信的确是环境的问题,但是我又找不到问题根源,网上一大堆的类似问题都是一些不相关的解释。
准备好adt-buddle之后,看了看,缺少SVN插件,公司用这个;好,
help-install new software SVN- http://subclipse.tigris.org/update_1.6.x 直接加载竟然不行!!!!好吧,我承认有可能是网络的问题。然后纠结了半天我就一个一个文件的下载,竟然可以!! 你这是要闹哪样、、
其中git已经内嵌在里面了;
还有,里面只有一种版本的sdk,最高版本--18;但是有点忒高,在线更新又太慢,咋办--- 好办,把你之前的sdk目录下面的platform下的sdk的各个版本都原样copy到现在的sdk-platform目录下,一切照旧,建立工程的时候就会显示原来自己常用的sdk版本。
附录自己的 打包混淆的配置文件--proguard.cfg:
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-ignorewarnings
-dontwarn
-dontobfuscate
-dontoptimize
-libraryjars libs/android-support-v4.jar
-libraryjars libs/Core.jar
-libraryjars libs/yht.BASE64Decoder.jar
-dontskipnonpubliclibraryclassmembers
-dontskipnonpubliclibraryclasses
-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
-keep public class com.broadtext.phreportfault.entity.**{*;}
-keep public class com.broadtext.phreportfault.service.result.**{*;}
-keep class android.support.v4.**{*;}
-keep class com.google.zxing.**{*;}
-keep class Decoder.BASE64Encoder.**{*;}
-keepattributes Signature
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
-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);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keep class * implements android.os.Serializable {
*;
}
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
其实我们使用上述代码时,大部分可以直接copy,只是修改第三方jar包名称等小部分内容。