- 在线时间
- 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文件 的错误
. J& ^) `6 W) p; [4 t4 ^& f1 ^% z1 Q4 U/ f问题概述:9 M! L a* k8 z: Y t6 U8 S$ s" ~! l
U' j- a) t$ I: r
在新建Android程序的时候出现以下错误:
C! W4 Y* E; w( D( U. W2 E" g% y8 l5 }
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件+ p: q( X/ P) @" Y/ ~+ s3 {
" h! S$ M( }: g6 P ! S1 w) q- @7 C% e2 ~4 d
; s4 F* n1 A" K) x3 {* C: F原因:4 ~: a k; l0 G; i' h" C* _% H
+ E# G# z7 P+ d$ gSDK不完整。1 M, v4 V5 t/ u9 q8 J) \
/ Y4 Y' \6 M7 X" @, B1 R% h% a2 X
! q- z. z- p7 c! p o, z+ j5 }- r; e- `4 ?
解决方法:
) f$ g/ M0 ^0 t; Q" u- \5 l7 }2 A3 }3 T6 P
方法一
' h! n4 u: d9 o. Z+ ^1 S
5 ~9 Q- S K) M可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
2 U e" s% v3 d% @
7 h- ?5 _3 T- L, C+ i d& V然后添下以下内容:/ d' u$ Y; ^6 m) d4 L
: |" w9 Z$ ~* m
; N' P; i' E; N. g9 \8 E
proguard.cfg
1 B. D. l- E* b: j-optimizationpasses 50 @! i0 e& F5 J. `
-dontusemixedcaseclassnames
3 U, I' a# p# F9 i- S) h-dontskipnonpubliclibraryclasses, @' O. {% S3 J
-dontpreverify
O+ m8 O K) ]5 j-verbose3 r" x. Y3 P+ {1 s: N0 S3 K7 S0 V+ }; x
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
. t) M) B8 b2 t% |: l" ~" P3 r) r- c, h
-keep public class * extends android.app.Activity! Q, W# W/ ]# v! S* e4 ~9 F. \7 D
-keep public class * extends android.app.Application
& L9 K3 P" T5 x6 `2 \5 F: N9 p-keep public class * extends android.app.Service
1 V0 x1 v# x- K7 S$ c) f9 h-keep public class * extends android.content.BroadcastReceiver
# m& s; G7 r$ ?$ a1 N-keep public class * extends android.content.ContentProvider
) s) u/ {9 B9 a" y5 W/ `-keep public class com.android.vending.licensing.ILicensingService8 P1 S/ E h1 `
Z' A/ b( v2 a# ~) W# L
-keepclasseswithmembernames class * {5 Q4 c$ ?; Z& x) [. c
native <methods>;! f! Y: n1 B& M$ }) c
}
. K2 F1 x. e* {9 A4 y4 K. K2 w
5 `+ N% D0 s- Y4 u% O3 h-keepclasseswithmembernames class * {. ^, M7 \/ a* Y0 ^) Z- K
public <init>(android.content.Context, android.util.AttributeSet);
; W! h$ X7 B' R- i7 V& K}
; N* w0 q/ e! @; H8 Q0 c0 ?0 Q, l* d$ D, l: L
-keepclasseswithmembernames class * {
+ a; E$ O. G: d- r' f4 { p4 N8 K public <init>(android.content.Context, android.util.AttributeSet, int);- Q# H! q$ Z. W
}* x9 P& M) }$ K# Y9 ?( S" V$ ~2 \
- `; \7 c0 v" f" v' d- J! M-keepclassmembers enum * {
1 j* t" E9 K) m7 ~; P$ P, n1 H; P3 y public static **[] values();
. H: m+ ^- u: A$ E% J+ g* q* a! A public static ** valueOf(java.lang.String);9 \1 O3 u- w/ n$ b! W1 @( T9 e) m" d
}1 N, o1 e( \! ]: ~! B/ I* r8 n
8 K9 l* `7 ]4 [6 e( N- v y) D
-keep class * implements android.os.Parcelable {/ V0 m" {; S6 Q" h/ x7 u
public static final android.os.Parcelable$Creator *;9 d2 ~! i& v+ O8 U/ a4 ?7 K
}
' \! Z4 a( T3 E
0 U5 R6 T2 b+ L3 r3 Z 7 _2 ]/ M% s# N
+ y0 E: Z& ]# D3 e& q; \+ z' R2 T9 a& N方法二
& x/ o; V* b0 k& Y通过Android SDK and AVD Manager更新所有SDK。 |
|