- 在线时间
- 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文件 的错误( t) [9 h+ C' K" _0 \5 k
问题概述:/ A' c% f9 M/ R8 b, [/ Q
3 I8 B0 m) f3 J, I7 P5 {& F, y! [在新建Android程序的时候出现以下错误:8 h ?9 ?6 X8 J) A8 h: g. V9 U. e6 [
. o! O, C; D3 J T
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
! \ a1 f, N& ~' @0 ]
* D- w5 j6 A W5 T
1 |5 c: x- i% J+ ]- |, q) Z; z& w/ p5 U' b G" v
原因:3 s8 ~1 C. G p4 W5 g9 A# T
! Z" F! D! f% t) K( K [
SDK不完整。. Q( T& U- B' n, l
; a: G" y, ]5 u7 ~5 g9 |
* o% q& d2 b( R% ]
! ?) _* n; `, I! o解决方法:. o3 L' p. ~4 m$ b1 m
# W! m& c* c+ M: c6 ?1 H. X8 r- O
方法一
6 N" B3 |' Z( e
6 O6 O. T, f, g可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件9 y; n! k# ?; m2 S6 l, ^
7 X+ B- G- S2 O; t. W3 p5 X) ~
然后添下以下内容:
8 I6 p+ H& x! L
/ n" `9 S- e. I: w+ J2 x6 T, U" o" h$ Q ~
proguard.cfg- d# o4 m3 S) m2 A0 ~
-optimizationpasses 5: |/ d* ]# A) R. D' m( @2 b5 B
-dontusemixedcaseclassnames5 J+ {( u, ]9 x5 I' k1 b/ p
-dontskipnonpubliclibraryclasses \# c4 n: Q1 Q+ \8 L l" M7 W
-dontpreverify, u2 }) b, k$ o% c
-verbose
! {6 d0 c/ N& i' M-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
5 m L3 y4 e/ o; E% N' b" i
1 j% t( L& t5 D; H2 }-keep public class * extends android.app.Activity0 i+ o9 n9 }9 y# k5 D7 S
-keep public class * extends android.app.Application
$ v7 T+ E9 H9 M! B-keep public class * extends android.app.Service! _0 K7 `+ i/ l/ _# U
-keep public class * extends android.content.BroadcastReceiver
: |# w3 N" `! ]$ g/ N3 e( X-keep public class * extends android.content.ContentProvider
2 p) ^) O; L) j- x-keep public class com.android.vending.licensing.ILicensingService3 Q: Q9 s% C! q5 D. O1 k* m
) L' h. g. {8 p" i7 q5 H. h$ F
-keepclasseswithmembernames class * {
2 s {' W+ c. z native <methods>;8 \; }/ E B- b- W+ N
}
9 Z0 [& t3 I( A% y: ]# Y8 K: q
7 n2 [! I6 D6 P" p-keepclasseswithmembernames class * {, E5 {9 p7 `' }' b
public <init>(android.content.Context, android.util.AttributeSet);
' L7 S& O( Z0 r& ]" n9 K}$ G1 ]2 }8 u( X5 n
7 d) V" m' B# J1 a$ [5 z" q-keepclasseswithmembernames class * {
: h3 p* K2 f- }$ W public <init>(android.content.Context, android.util.AttributeSet, int);
0 k& D w' C; u9 @( g: Z# Z& Y" _, O}% f( `, H6 u2 D+ g# n
* k* h4 l% ^6 U1 H1 a& w-keepclassmembers enum * {
$ d2 m# w+ E) V) w7 i public static **[] values();1 `( S: }; B& ^3 E4 g* D+ B Y. I0 P
public static ** valueOf(java.lang.String);1 a# m9 E8 O2 N h0 _
}+ I) P2 C" e3 O- k# |, X; o1 a
6 c0 s5 V( K' D) M6 ^3 a% |
-keep class * implements android.os.Parcelable {( X/ w2 T/ s/ c* V( e& p
public static final android.os.Parcelable$Creator *;0 B) k. j3 K0 v; m# J( L
}/ ?" u& |2 A, l7 D* O, ?
! N9 a2 X: V# u: Q: w / ]( V& t8 f; ^* n5 L
0 ~% k# H% C; `3 M
方法二1 R0 d) Q" l1 ?4 t8 z6 I
通过Android SDK and AVD Manager更新所有SDK。 |
|