- 在线时间
- 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文件 的错误
: H1 A1 G- K' u. Q" ]( t, L问题概述:
! Q' e1 b* Y2 S6 f' x# F
9 q6 X" M1 {* R9 p9 k+ }& d在新建Android程序的时候出现以下错误:# K/ F% z" t# Z* X8 C8 V, S' [
7 \) s! H8 o! X8 C @找不到 \android-sdk-windows\tools\lib\proguard.cfg文件7 H' B, H( ?2 z
% d6 s' Y: Q( W8 Y
0 n ^5 ]: c$ E: { n
" U# M1 U- T: B9 H1 ~原因:0 y. M- V2 i F; ]7 ?7 q7 K$ Q; `" t
: j( [2 d# A& R) l6 M
SDK不完整。
3 k+ S0 P/ I3 D4 q# v7 w. b4 R* q" G
7 E& F" K% ~ G( d) d. s
+ }, X+ }6 S4 c. Z7 s解决方法:
! ~2 p! ^# ~% w+ z1 d- j4 D) C) _9 U& K q
方法一
& h9 q( s/ ?. B: u0 s( T& R' y, U3 D% Q5 ~# T" ^# |' l" s) I
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件- ?0 H1 F5 B! ?) ]8 h
( D$ d( X# A: M, @- g( s然后添下以下内容:
% }: W: A5 m# j+ {) L: {# c' p k6 p Z; k% r% H2 `/ z
( Q' D# R+ O4 ~( A# r3 w5 K1 d' h
proguard.cfg
! y6 ]! L$ j- B$ o- H* L' c7 t/ w-optimizationpasses 5! I& s' I+ V7 W3 k) g' w% P, A: U
-dontusemixedcaseclassnames
2 A% L" E- n! R7 C- T-dontskipnonpubliclibraryclasses
' ?; [* w8 O' [1 J; K-dontpreverify
6 O: o$ J/ T( {1 r% b, Y-verbose
- w( ^8 k, j% |4 l F-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*- I$ [! A. v/ k9 Y( A% U: Z' T
$ h5 \& [# A4 L5 o' F. o8 z
-keep public class * extends android.app.Activity
7 f- x. S& r8 I3 E-keep public class * extends android.app.Application# R3 R7 c/ K+ i' d& I: ^6 [ ~4 p
-keep public class * extends android.app.Service$ X1 O2 d& h0 x3 N
-keep public class * extends android.content.BroadcastReceiver
$ g9 e5 k! T( o4 _' ]-keep public class * extends android.content.ContentProvider
8 h& L) w% z2 G( a& w1 |, o-keep public class com.android.vending.licensing.ILicensingService; E" N: F8 I8 }6 h, o
; r; A& K0 f7 q% u-keepclasseswithmembernames class * {' K" O8 X8 [# j2 s! \ M+ a
native <methods>;4 ^5 z7 H5 G7 B( n( ~
}
* F$ j N# i4 p0 \; P. S- q! w" f+ v
-keepclasseswithmembernames class * {- `7 H( O. |# \6 R! b; L8 h; R1 H1 i
public <init>(android.content.Context, android.util.AttributeSet);
' n' t2 z1 u/ t. a! |; q6 [8 ~. A}
/ P# ]2 v& J# n" y* {
* J9 m, Y- Y+ {$ g-keepclasseswithmembernames class * {: H- R6 D; }0 m1 Q
public <init>(android.content.Context, android.util.AttributeSet, int);1 e2 y! `% L$ n6 l3 D, U& f
}
l6 U3 r! K( C3 n% \. U# @) P/ m9 ]
-keepclassmembers enum * {
% r. D2 c' H9 g; o0 @+ z1 j public static **[] values();
9 V$ s/ V: M8 T) U+ C7 f public static ** valueOf(java.lang.String);
$ r' s* ?0 S( r3 V+ _* `}
0 z8 ?! d; i1 T; ~. s5 S) I7 C9 }( ~
-keep class * implements android.os.Parcelable {% X4 o8 b1 e0 b
public static final android.os.Parcelable$Creator *;
* h8 M7 ]. h6 r1 f1 s}
' j( T$ ? \$ R @3 F, V7 e$ V( `2 {; W0 _8 [
9 O; [" a9 }4 X! Z
0 i0 i6 d$ ]; _. h7 |# ~4 T方法二
Q0 @2 t: V' V/ \* w通过Android SDK and AVD Manager更新所有SDK。 |
|