- 在线时间
- 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文件 的错误
& c9 ?( E: K( X7 n5 [! y问题概述:
1 \. a! d9 B6 ~% n$ i- v f7 t! N4 D; q* H) k+ V
在新建Android程序的时候出现以下错误:
9 ~8 W i2 [, @7 f' w6 I1 N, P/ I6 Z6 u
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件9 w! }3 y$ S& g# Z! ^5 ?
2 P h6 `) z/ ?- c: ^5 a0 i0 v; G , b- u ~; v! L) U% A6 [+ T
1 T3 s/ n2 ?2 A# P; v
原因:/ [* S' C7 k5 u; `- |" h! _
' B8 d9 o% ?; Q4 d0 ]
SDK不完整。
; q( w2 x: E3 {
8 G: ?0 t/ Z$ Y; N6 Y+ { 0 |7 l: f/ i' T; q+ W. ]0 c1 h- {
* _/ r2 K" R, C7 V5 @解决方法:8 J8 f2 G) S, h* Y
% r: t ^: [3 w$ Y$ L/ R方法一& L0 \- K0 ]" P7 A% P i2 o4 Q' R3 Q
7 b/ w+ M# n9 V9 ~
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件* ^ j: r* _' ^
+ q9 L; u# J7 k) S5 @; V& c
然后添下以下内容:
$ ^7 C% n7 A' |/ R1 r+ n" t1 e. @! i+ F$ N
& z$ G1 D7 y: Q' uproguard.cfg, K* _/ D: x$ D
-optimizationpasses 5: M. |9 k$ `, {0 L
-dontusemixedcaseclassnames. f3 |5 n. ^7 O3 ^
-dontskipnonpubliclibraryclasses) y3 w' N) o, B( c* O0 E. u% f, ]# B
-dontpreverify
( y2 o" }0 u, V4 i. W( n0 e-verbose
5 e! ~" r8 S# Q. w- S" i8 R' x9 O9 ?1 X-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*. \+ m. o3 b( k& ? s
* U) |3 E/ f$ P- G& V) P
-keep public class * extends android.app.Activity
: m4 N/ f) P3 _" @-keep public class * extends android.app.Application
1 d! \& _% H O* A-keep public class * extends android.app.Service
^1 Y8 S' Y) T1 b0 l1 G9 M" P; e-keep public class * extends android.content.BroadcastReceiver0 A7 z0 Z% m% d: O3 J1 e; K
-keep public class * extends android.content.ContentProvider
: F, z! |5 ^$ N1 J3 {" Q-keep public class com.android.vending.licensing.ILicensingService5 |9 {7 J$ M+ c" D8 g2 p9 N4 p
x/ Z' M, K- ^* v- y-keepclasseswithmembernames class * {& M' E! S. n; i7 D% |; S
native <methods>;8 N* v0 c* F0 Y! T7 m1 G
}0 g4 h4 |; v+ H3 {' @! m* q5 c( `
( j+ K) g( \2 ~& G/ y7 m$ v$ ]
-keepclasseswithmembernames class * {) S" N" l4 s" n' S" y! g! O
public <init>(android.content.Context, android.util.AttributeSet);
4 B$ K3 i ~2 m o9 c/ @% _: D3 P}% j/ N* F' {3 f
3 D7 u" e( v& ^8 u# `) J-keepclasseswithmembernames class * {
1 r D# l0 n* ]2 t# y public <init>(android.content.Context, android.util.AttributeSet, int);6 s3 j ? i* V! i: |2 h
}
' w. K j9 [9 x; k: y V! G: S
6 V0 M7 F8 C1 } w3 z% z-keepclassmembers enum * {
" q( ]3 d, @6 J public static **[] values();9 i: I% W* g* ], u
public static ** valueOf(java.lang.String);* Y- S! y( p+ s9 Y! F* |# W
}( r# X `' r, {2 R9 |, d
. w) w6 D: M# Q- u
-keep class * implements android.os.Parcelable {
8 s5 T% @1 ^) }6 t! z' H0 u- u public static final android.os.Parcelable$Creator *;
- [/ q6 c) s1 g$ h9 [}/ U# o$ g7 K8 e2 Q& l
. p9 P2 \' b8 {$ E) D
- M2 z+ Z: D! Y- @) |2 E
# w0 r9 X7 C% U5 g/ I& ?( l方法二
! j) G/ s& [7 s6 v* Y通过Android SDK and AVD Manager更新所有SDK。 |
|