- 在线时间
- 490 小时
- 最后登录
- 2024-2-3
- 注册时间
- 2013-2-28
- 听众数
- 117
- 收听数
- 46
- 能力
- 268 分
- 体力
- 39235 点
- 威望
- 1340 点
- 阅读权限
- 255
- 积分
- 31237
- 相册
- 2
- 日志
- 0
- 记录
- 0
- 帖子
- 1388
- 主题
- 937
- 精华
- 0
- 分享
- 0
- 好友
- 111
升级   0% TA的每日心情 | 衰 2020-10-25 11:55 |
|---|
签到天数: 264 天 [LV.8]以坛为家I - 自我介绍
- 内蒙古大学计算机学院
群组: 2013年数学建模国赛备 |
如何解决:新建Android程序的时候发生了找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 的错误
* c( v0 z. A/ W! U2 R2 F% t问题概述:
3 l* r: i7 p. j& u2 M2 q1 Y4 p' K3 w* ?. G. L
在新建Android程序的时候出现以下错误:- P4 _3 ?" C1 B$ S: U
8 F( Q5 w0 y/ [4 c1 ~; m, i找不到 \android-sdk-windows\tools\lib\proguard.cfg文件' q0 w7 `! v, ]+ Z
& m% j! o! B' _/ K4 e8 F ) q+ x% D( D/ U; i
5 E; m ]6 L: R原因:- e) H8 x# m" x; R
$ l. D3 u* ?1 n* U- q
SDK不完整。! I/ P# E) m: S6 R" z: H
* Q A. k" d% M/ v& ?
" n4 {' S* R+ z+ \
6 h$ ~" N3 y9 x- g) B; d解决方法:
$ u: ^5 `3 l$ Q( a' [
" D5 x4 i W4 {/ |+ I方法一4 n% i* x3 K( m: F- K0 f" a
/ W+ B6 p& w3 R
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件 x6 j0 A z$ W/ H: W m, ]
, D2 v( `; ~, F4 ?' e然后添下以下内容:% t2 p7 p& _4 |# W1 n" ]
_( M; q8 M) K$ n4 `2 l' q
# ]0 |6 i+ A$ b C# C
proguard.cfg
6 C$ A9 y; ?4 |7 i( {8 A; y8 j5 o-optimizationpasses 5
- \8 \2 l* T. t% y$ a-dontusemixedcaseclassnames& a3 L7 a! X3 f [: q; C
-dontskipnonpubliclibraryclasses; @8 M, Q/ G. K- s: q
-dontpreverify/ ]: e) X% ]& ~+ U; u$ d- P
-verbose
6 x$ Q7 Z; n, \6 h- c+ E-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* ~+ x) m/ g# @2 Z9 ?7 a' l& ~$ P
6 x! G) k$ u/ x# _' D
-keep public class * extends android.app.Activity
0 E+ Z; ?: m- z0 \-keep public class * extends android.app.Application
: m0 ]+ \: H2 o$ x3 y-keep public class * extends android.app.Service* v% g: A! Y* u7 x' @' O# X
-keep public class * extends android.content.BroadcastReceiver
) g: } _" F# i u-keep public class * extends android.content.ContentProvider* q2 U6 X: h& I3 v/ r) B
-keep public class com.android.vending.licensing.ILicensingService
+ w! i* U7 R/ i# R* X6 K0 m7 B. d; c. V) \
-keepclasseswithmembernames class * {
2 _( j3 M/ X7 E7 ?1 P native <methods>;- x+ y" m: f" A* M' U9 W4 d6 @' @
}1 V3 \" o7 Z) F1 y" @) a/ \7 s F
5 X3 R" {/ e; E. k. L-keepclasseswithmembernames class * {/ C1 D8 k6 V d! n# T& q
public <init>(android.content.Context, android.util.AttributeSet);
6 Z* ?; r; _/ G" I}; x; _, s2 T$ W- i
) r7 P3 h9 }: [ a% r-keepclasseswithmembernames class * {$ e7 P6 X, q* |, Y: \' R$ H& Q
public <init>(android.content.Context, android.util.AttributeSet, int);4 ]+ q+ p3 R: y$ O
}; k! h. e! E' r6 x; {) ]
/ Y, j& I/ ~( l$ u' p
-keepclassmembers enum * {
% q6 o- r. w/ @. r, h* } public static **[] values();1 p I& D* h# Y y
public static ** valueOf(java.lang.String);8 U' L4 p- a7 l1 d8 |9 u0 Y
}
4 G7 ^1 G p u7 \9 @/ T
! S* Z6 S/ P& K% s$ u* }! Q-keep class * implements android.os.Parcelable {
4 \# n0 W8 R. H" `5 Y( ?$ v public static final android.os.Parcelable$Creator *; A9 ~% r1 q9 ]; ^+ m$ H
}
' W& Q0 `6 l9 J' s8 n& R8 R+ B( N1 E: s% Q
B4 _/ N( m. B% @
( s2 ~: b2 t& I- R; g8 d; p1 D方法二
3 z7 [% T* g* J2 {通过Android SDK and AVD Manager更新所有SDK。 |
|