- 在线时间
- 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文件 的错误
- w0 U; X* p- v" k" ~问题概述:& }3 a3 @4 Q7 O% |) q* @* R6 t
* Z6 _) d E) x$ J7 T9 R在新建Android程序的时候出现以下错误:
4 V( z. d# Q- K0 H8 @0 S% e( `6 g! }4 Y4 G
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件! n6 V, {. V4 T) j; G
, Q. M* F" w' W" b. q+ B8 J3 ^9 a
[3 R+ r# F0 h. k: b, i9 b$ t3 S8 K3 ?, |
原因:
' K+ \/ p5 z" l5 f2 ?9 n2 T4 y* ^4 Q
SDK不完整。
1 k9 G( W: ]! _! e% F; U, ~" k+ v. K! Z
; }) @7 [( L/ \/ O2 F
* b1 D- t8 U+ W解决方法:/ r+ R' I* u8 t2 t+ n3 u! ?
$ F! R4 G& z& u4 r: G方法一, ?: c" r' @" \* D
; k- M H- [6 G' E- a8 j
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件9 I+ I c: y# X9 I
# D' @9 g7 g* f3 N4 \
然后添下以下内容: B& e6 e. |/ |4 i1 W# O
/ L( [" ]* w$ }7 V* R7 G
4 y: d/ ~4 v7 V1 }
proguard.cfg
* q6 ^2 y: r4 A& {/ Y7 j-optimizationpasses 5: L: c/ |0 f! p) w& C- {
-dontusemixedcaseclassnames
# T! P, Y& e& l6 B-dontskipnonpubliclibraryclasses
3 d1 s% t$ z' x1 y-dontpreverify; k% o; U; A5 [7 u, @
-verbose
1 N9 n8 G6 E5 s5 D; E2 q5 X4 p) a-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
0 E1 Y7 P* X' j/ E" g
' y/ f3 h5 K8 Q, D! k+ r-keep public class * extends android.app.Activity3 C5 P9 R' I8 x: }+ S2 [6 ]5 N1 C
-keep public class * extends android.app.Application
2 w. Q2 r2 U s! h0 L-keep public class * extends android.app.Service# s B8 f/ A+ K, P) Z3 w9 u0 E+ k
-keep public class * extends android.content.BroadcastReceiver4 [; t6 i5 C$ |* F8 b
-keep public class * extends android.content.ContentProvider
: u* J' ]$ l% R9 `2 z3 L2 r-keep public class com.android.vending.licensing.ILicensingService; w f/ G$ o P. |) @ ~
1 W& k+ t5 \3 q8 T/ V* _-keepclasseswithmembernames class * {
. s' U) @" l! e5 U6 Q5 G native <methods>;. `! W4 m; `: i0 q- C
}
* p9 b3 I7 ?: W0 B8 M" ]- }/ N& C7 c
-keepclasseswithmembernames class * {
: \' k$ _8 S) A8 P* z- C+ E- [: l3 v public <init>(android.content.Context, android.util.AttributeSet);( y& J/ {9 ^! H+ S5 C. r- u1 q, j% w
}
! x& q- k+ k/ T: o D* \3 y
, @. W( E; a9 K3 {5 ^' _* y-keepclasseswithmembernames class * {% I* V) @0 q u+ H) u- J) [
public <init>(android.content.Context, android.util.AttributeSet, int);, L" p8 j8 p. p/ J$ \0 U/ c( |
}/ F0 e& k1 L* v7 F% G9 {; N
4 D8 R" ^3 @ X- {; j-keepclassmembers enum * {+ O" q2 b, l9 `1 a- s
public static **[] values();
! Y& F/ L# z5 c) P, Z% l: m4 x public static ** valueOf(java.lang.String);3 `* v8 t5 h! Q9 O4 d+ ~8 P& i
}
1 A% _$ ]" {; G/ ~; k) V( F4 [" l% N1 O
-keep class * implements android.os.Parcelable {' {& ]- [ g, U" W+ V
public static final android.os.Parcelable$Creator *;2 q/ C* M- }8 ~( r' y" J
}7 |) N/ F7 w- s# w* i
0 |' @9 l$ f* V+ Z8 Y; X5 i# ]
% F% g9 [( ?# D+ q+ s Q6 t
5 h5 P0 L3 O% t1 l方法二) X0 F" F3 v2 T4 ^2 F/ R/ @ L
通过Android SDK and AVD Manager更新所有SDK。 |
|