- 在线时间
- 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文件 的错误1 a' a( F2 S7 L; b& d2 u3 R
问题概述:2 X, x* B" [; \: k/ ]
. [1 h. K* p. w% Z
在新建Android程序的时候出现以下错误:! S5 i g3 n& D8 B) u! P) ]0 k
5 _8 [4 i" ]( p找不到 \android-sdk-windows\tools\lib\proguard.cfg文件) S6 i3 Q: I5 \; k
. X9 J; @( E. ~( I
+ y4 \8 A- S& m9 L% O( E
) g4 G+ t2 Y# y" [& s原因:
0 Q, X9 N# g# c& ~- {% O2 p9 k6 J; D% t8 X4 o- B; B
SDK不完整。
. S$ i h5 n+ ^& n2 |
% S3 w" d* G+ @* [! b ) e _% T. r/ ~1 j$ V
& G/ j; M) n* w/ @$ w+ D _! C8 _( c
解决方法:/ l" V2 Z2 D6 Y `
1 m4 E9 w# n6 ]. H3 Z& d z2 U
方法一; h+ _9 l; b0 C
/ s* [+ i0 a) }& P( d- t" H. b$ F
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
& S1 ?( w5 w7 }6 ~0 b: J% P
" y4 Z+ q9 K' [/ P5 Q2 W然后添下以下内容:
! F n' |; R5 T0 L9 l
4 P! _ I5 X$ B" ~. I
* C2 C! o& g, \8 L$ _6 q5 kproguard.cfg
5 k5 M! g. T: `: s- Y8 ^5 t+ X-optimizationpasses 5" [1 m- i: b6 H4 U
-dontusemixedcaseclassnames- E- D: U# V" p- O' u
-dontskipnonpubliclibraryclasses) G. W5 H* B6 X. Z- L6 a1 ]
-dontpreverify
7 n2 `, i! A, b: @7 A3 M& X( W-verbose. q/ y( K& j+ J6 Y& P& z- y5 |+ Z
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
2 }( _" q. b1 F2 e0 O! x7 M7 C8 X- o
-keep public class * extends android.app.Activity
3 r! U6 V4 z: V: ^* J$ W-keep public class * extends android.app.Application1 L F0 \) n8 `. C7 f" o5 m8 c
-keep public class * extends android.app.Service
5 z; F9 o" E8 O8 |/ P-keep public class * extends android.content.BroadcastReceiver: J5 e* O u( p& E: \
-keep public class * extends android.content.ContentProvider% K$ C! V' \+ o! o: |& ^
-keep public class com.android.vending.licensing.ILicensingService" F# [* X( \3 X3 e" r% t
) P- [) s9 g- N5 ]-keepclasseswithmembernames class * {' x. ^3 C; W/ S# F" c. f- {* K
native <methods>;
7 I c7 R% s3 _: D4 U# o}; m' G" U% B: W
3 h7 s) s1 u. c2 u& Y1 [-keepclasseswithmembernames class * {' w2 [7 T; [: v/ x
public <init>(android.content.Context, android.util.AttributeSet);
- s" D4 Z/ Z3 y6 c5 i}
: Z8 q: I+ n8 V% `/ u! y
) D2 A4 D" r6 A' E7 M! Q-keepclasseswithmembernames class * {
$ q& R- \6 l# X9 \- M, I) W public <init>(android.content.Context, android.util.AttributeSet, int);; n$ U7 w& y) }; F% N
}
7 c5 ~ O c& u3 x4 n' F. C n2 K4 ]) V+ [
-keepclassmembers enum * {
6 U4 X" N, w; P public static **[] values();% G5 M1 @; p+ Q0 i& o: `9 l7 p5 q5 n
public static ** valueOf(java.lang.String);
+ j8 b# F. R* S- s' f$ i: T}
# t- K$ B0 q: D( h0 {/ g
+ e9 Q, P, [2 a6 l( M-keep class * implements android.os.Parcelable {5 w. k% z; t+ M ? Z7 B
public static final android.os.Parcelable$Creator *;' @( }6 K4 `! k
}9 P$ I6 B4 K" Q* p
9 | H j! m+ f3 [
+ A* {0 I V. D6 Y1 W. `, ?3 D0 l* q) h2 \3 i
方法二5 y4 f/ W# C6 v* V+ H
通过Android SDK and AVD Manager更新所有SDK。 |
|