Adnroid4.0 签名混淆打包(conversion to dalvik format failed with error 1)

最新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.**

猜你喜欢

转载自wait7758521.iteye.com/blog/1665566