最新Eclipse3.7+android sdk4.0+adt14 之前的项目签名打包出问题了
错误信息 conversion to dalvik format failed with error 1
错误原因 ADT14 签名混淆打包 新添加了com.android.ide.eclipse.adt.LIBRARIES 类库 老的项目没有导入该类库
解决办法
解决办法1:修改项目的.classpath文件 添加下面一条类库:
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
解决办法2: 在eclipse中新建一个android project,然后把老项目中资源代码拷贝复制到新的project中。
后来换了一台电脑 打包时又出现了上面的问题 而且上面两个解决办法没有解决掉,问题依然存在,弄了半天,网上以为仁兄帖子给我我帮助,在这里做个记录,备忘。
解决办法:
下载proguard4.6 or4.7,复制4.6 or4.7中的bin和lib文件夹,覆盖android sdk中tools/proguard文件夹中的bin和lib文件夹,即可。
PS:现在广告平台,统计平台插件很多,打包时有时候会出问题,为了保证这些插件正常使用,通常会不需要混淆第三方jar包,修改proguard.cfg即可方法如下:
以admogo、admob、domob、anwo、case、有米为例
第一步,添加这些jar路径(我放在项目中的libs文件夹下):
-libraryjars libs/AdsMOGO-SDK-Android.jar
-libraryjars libs/adwosdk2.5.1_for_Mogo.jar
-libraryjars libs/alipay_plugin.jar
-libraryjars libs/Analytics_Android_SDK_2.3.jar
-libraryjars libs/casee-ad-sdk-2.10.jar
-libraryjars libs/domob_android_sdk-2.0.2.jar
-libraryjars libs/FlurryAgent.jar
-libraryjars libs/GoogleAdMobAdsSdk-4.3.1.jar
-libraryjars libs/youmi-android_v3.05_2011-12-30.jar
第二步,忽略警告
-ignorewarnings
第三步,用keep class 告诉proguard不混淆
-keep class com.admogo.**
-keep class com.admogo.adapters.**
-keep class com.admogo.anim.**
-keep class com.admogo.obj.**
-keep class com.admogo.util.**
-keep class com.baidu.**
-keep class com.casee.adsdk.**
-keep class com.casee.adsdk.gifview.**
-keep class com.casee.apptrack.**
-keep class com.casee.update.**
-keep class cn.domob.android.a.**
-keep class cn.domob.android.ads.**
-keep class cn.domob.android.ads.a.**
-keep class cn.domob.android.ads.b.**
-keep class cn.domob.android.ads.c.**
-keep class net.youmi.android.**
-keep class com.google.ads.**
-keep class com.google.ads.searchads.**
-keep class com.google.ads.util.**
-keep class com.anwo.adsdk.**