android 打包遇到的问题

  1. 云栖社区>
  2. 博客>
  3. 正文

android 打包遇到的问题

code_xzh 2016-12-01 23:02:30 浏览1922
展开阅读全文

说说今天打包遇到的坑,由于线上有个支付的bug需要紧急修复,而我们的项目又没有使用热修复,所以只能通过编译打包等传统流程,还好Android上线比较快。

说说我进早上打包遇到的几个问题吧,首先我使用build-->generate signed apk然后输入签名打包,啪,给我报了一个错。

1,debug-stripped.ap_' specified for property 'resourceFile' does not exist.


这什么错,怎么一起没遇到过,马上度娘,找了半天找到一个和我很相似的,意思是android studio升级到2.2之后出现的错误,于是我也尝试了一把下面的方法:

File—>Settings,打开Settings界面,搜索到Instant Run。

,2怎么我的默认就是没选中的啊,于是看第二条,有人说是Debug模式下的混淆开关问题。



好我都把你改了,debug我都false行了吧,形如:

[objc] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. buildTypes {  
  2.     release {  
  3.         minifyEnabled true  
  4.         shrinkResources true  
  5.         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
  6.     }  
  7.     debug {  
  8.         minifyEnabled false  
  9.         shrinkResources false  
  10.         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
  11.     }  
  12. }  
3,我又重新编译,结果报Android Studio 混淆打包 IOException: Please correct the above warnings first,形如下面的错误

[objc] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. Warning:org.apache.http.impl.conn.tsccm.RouteSpecificPool: can't find referenced class org.apache.commons.logging.LogFactory    
  2. Warning:org.apache.http.impl.conn.tsccm.RouteSpecificPool: can't find referenced class org.apache.commons.logging.Log    
  3. Warning:org.apache.http.impl.conn.tsccm.RouteSpecificPool: can't find referenced class org.apache.commons.logging.LogFactory    
  4. Warning:org.apache.http.impl.conn.tsccm.RouteSpecificPool: can't find referenced class org.apache.commons.logging.Log    
  5. Warning:org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager: can't find referenced class org.apache.commons.logging.LogFactory    
  6. Warning:org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager: can't find referenced class org.apache.commons.logging.Log    
  7. Warning:org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager: can't find referenced class org.apache.commons.logging.LogFactory    
  8. Warning:org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager: can't find referenced class org.apache.commons.logging.Log    
  9. Warning:org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager$1: can't find referenced class org.apache.commons.logging.Log    
  10. Warning:there were 210 unresolved references to classes or interfaces.    
  11.          You may need to add missing library jars or update their versions.    
  12.          If your code works fine without the missing classes, you can suppress    
  13.          the warnings with '-dontwarn' options.    
  14.          (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)    
  15. Warning:there were 1 unresolved references to library class members.    
  16.          You probably need to update the library versions.    
  17.          (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)    
  18. :app:proguardRelease FAILED    
  19. Error:Execution failed for task ':app:proguardRelease'.    
  20. > java.io.IOException: Please correct the above warnings first.    


好吧,我打开混淆文件(proguard-rules),首先我看到有人把下面的ignorewarning注释了,我擦,然后关闭,打包成功,不过这里加上下面的一段话

[objc] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. 打包报错java.io.IOException: Please correct the above warnings first.  
  2. -dontwarn org.apache.http.**  



网友评论

登录后评论
0/500
评论