- 在线时间
- 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文件 的错误
) d) U/ g/ }9 ^1 ~问题概述:
4 G) d% F% f! V" c8 ~7 U8 }4 P) V$ o. A4 I- q) ]+ J7 g9 U4 f+ b
在新建Android程序的时候出现以下错误:' `3 @: H8 J; w* v; p
6 ^& a2 ~3 `: E% k+ R
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
1 A8 O X5 q, A) i Y' \. G5 ?
; ~3 h. E/ U& [8 \% Q" O
j" W; m" H! ~
3 e- B( M- h; x5 @! M原因:, S, r j+ u+ R! u. [) j
3 P. L7 ^, Q+ Y) T: T1 gSDK不完整。) n0 m6 O4 ]) u* T
0 Y. n" Z. {& ]) {# ~* Q 1 v- [- j( I/ D3 t" n! b$ G/ |
: k4 L J2 ^' ]. ]解决方法:
) m, R' Z2 L9 y7 T1 P( z
& a3 e; E$ ?; j5 s/ a, d方法一! \ ~$ |7 t- W9 w) ^
Q: ]/ N" ~/ G, M G, C& h
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件: s1 I, v k+ L ]* l
8 L1 J' O) }7 p* {2 Z6 ]) ^: k
然后添下以下内容:
3 z* l, ^2 E |: R/ b% q) ^
% g; |( j5 @3 E: {6 e$ x+ q& `8 ?0 d7 C
proguard.cfg3 w {' r: h: B+ J
-optimizationpasses 5
- q1 W( O$ k' P$ h# P-dontusemixedcaseclassnames
: q) r3 w. h0 q8 V8 I-dontskipnonpubliclibraryclasses
% p/ X& X% P% l-dontpreverify
% u' h* Z9 ]& a: v2 O- q' V1 p( S-verbose
2 S6 t2 q" U3 `/ i/ `' p-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*: Z0 J; T+ f/ k6 _6 V
$ N" f5 b/ h; @
-keep public class * extends android.app.Activity4 N/ t+ T2 D6 E* [/ B) H9 u- q
-keep public class * extends android.app.Application
Q; }3 _) J( T0 H-keep public class * extends android.app.Service6 D) P0 ~+ t% f I/ X
-keep public class * extends android.content.BroadcastReceiver
# a% b- d" ]5 \( _- H-keep public class * extends android.content.ContentProvider, Q8 [8 x) Z, g% _
-keep public class com.android.vending.licensing.ILicensingService, v/ `; i7 e/ H4 p+ J
: ^: N# l9 I' Q2 z-keepclasseswithmembernames class * {
+ w8 C; u* M. h' Z; |0 J, z0 m* { native <methods>;; a/ ~! s9 d6 i. ?8 w
}4 d1 k& V. w4 C, B4 D
# m$ G! ?% r, y& }- q
-keepclasseswithmembernames class * {" ^3 `% h4 E( @
public <init>(android.content.Context, android.util.AttributeSet);
8 D5 r& Y6 n9 s% F' O) c# i3 W% @6 E}
. p' ^& L0 [0 e# D+ h2 q4 M
( N& ^ d5 {. v! w5 A-keepclasseswithmembernames class * {
" J8 o% _7 l9 g3 h public <init>(android.content.Context, android.util.AttributeSet, int);
/ U$ N! L2 a9 t}
- N; R( B5 ~3 B! r
/ F3 C7 X- m/ i" L. x& j$ }-keepclassmembers enum * {5 z) c0 A4 W. L0 k
public static **[] values();
1 n6 A' |% `$ i' u2 C public static ** valueOf(java.lang.String);
! C. V! N) o# y/ V% R* z) j+ |, v}
3 N8 z% s0 L8 }/ q/ f% ^4 y% d9 Q9 D4 B6 Y" z, ]
-keep class * implements android.os.Parcelable {, ?- Z& S V, A6 c' ?9 P) A0 D0 e
public static final android.os.Parcelable$Creator *;
7 j* g+ I* _! S7 D}
+ n2 `) _- `6 {3 d- I! g: ?4 s7 X
# u$ @! P# [. D* j7 O N! c: e1 |( s9 Q8 a+ n! Z @
. ~6 x: S5 e4 k& D5 I& K' Y
方法二
[; z# N" Q3 d8 H通过Android SDK and AVD Manager更新所有SDK。 |
|