- 在线时间
- 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文件 的错误
9 P" g3 ?, r; }, D" ~* i问题概述:
2 ]. q) `2 |! f- z; H8 c; Q
9 k; @- h4 N1 u8 B* T) X F在新建Android程序的时候出现以下错误:
& S, _2 G% T w; L. y3 h @/ W8 y3 x, o1 K* J
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
. P8 n* M% B* D2 A; u0 Z- r m2 @+ E. m& {6 U1 R: u
8 w. \/ @/ W! r& l }% D9 h( G2 p3 G2 v8 ~* Y9 e0 w
原因:; [2 ^4 X5 R$ J/ H7 {
& v9 F2 l8 m$ v3 ? [SDK不完整。
2 I8 M; c" D& K* n5 t/ Q( a" v6 Z3 f4 s# ?
6 O" a# w+ f) t% v! j
/ W4 c5 H" t& z# \% i
解决方法:
' s& S% Y Z' w; s# V
; m# \: s+ {/ ]方法一
7 \. W2 T! T; }9 z" t- ]
0 x& R* j) W% `% k* A. Y可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
/ ?& J: m8 k' k+ G5 j, b1 p, p% r5 g
然后添下以下内容:
+ [# F0 N/ E, ~% ]. @% l( R) I. Q" W0 y, B/ o+ h% n- r1 X% U" i9 T
$ m- @: W3 l9 ^# E& k3 B: Q4 J5 \proguard.cfg
+ I0 U u* @: ~+ A9 b2 Q-optimizationpasses 5
$ T* B5 I: [# w# W3 W-dontusemixedcaseclassnames0 }' j3 N# w: o9 n& S. I
-dontskipnonpubliclibraryclasses! t9 d* `4 x, h9 ]3 {2 W
-dontpreverify( [0 T% A* e: ]
-verbose) S+ t9 F- n4 X. z3 J/ ?
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
/ ]" R$ k/ |8 h$ H) D. F! A' Y
: _# p- z; [1 _1 i& R-keep public class * extends android.app.Activity4 |9 L- R7 U6 _4 P' ~
-keep public class * extends android.app.Application
. T9 s9 ^+ ]. R3 ~$ L+ }-keep public class * extends android.app.Service
^) `8 f* y6 U' |4 c* S! w- U3 X-keep public class * extends android.content.BroadcastReceiver
! o( ]3 A9 g; J/ W9 E-keep public class * extends android.content.ContentProvider
* {+ d: U% D) @2 h" R+ L-keep public class com.android.vending.licensing.ILicensingService
( i1 U0 o( Q. c) |7 ~ |- h
Q1 }' p0 _) z' M* ^; K-keepclasseswithmembernames class * {$ b6 n) B5 i; E+ e5 p, h Q
native <methods>;
1 f6 g$ _/ v/ o! p' B}) I# B5 ?3 Q0 w U: o& i# O. |3 ~8 k, e& J
- ^) ]. j' |! i" G, w: @. H6 Z-keepclasseswithmembernames class * {% {& j6 ^) d5 s m3 H5 v8 P7 a7 k
public <init>(android.content.Context, android.util.AttributeSet);
) F7 y' c5 W2 S$ p; y+ b: }}
* U; _9 y# H+ C/ }. t7 e5 X8 u8 _
* J6 c" F- T7 u3 x- q# M2 f* j-keepclasseswithmembernames class * {
f* i1 y; x/ g+ h7 a public <init>(android.content.Context, android.util.AttributeSet, int);" X: S1 c# a; v* P5 Y! ~& o- t* |) Y
}
+ ^& a! Y# s) M; F% r2 c3 ]2 M- q5 N3 V9 \3 A
-keepclassmembers enum * {
( h3 I6 ^1 \. }# ~ public static **[] values();9 W' [5 p) i( ~3 `+ ~/ a+ Q* g- k7 _6 A
public static ** valueOf(java.lang.String);, }! h$ S! i2 K; k" K5 y" V
}' Z9 A/ H& `, K/ }: g# ]" e. i
! O+ n3 M" F4 u2 d4 M7 n; H-keep class * implements android.os.Parcelable {) _0 V/ Q& o' C7 Q9 k7 U
public static final android.os.Parcelable$Creator *;1 @3 v0 x/ t# N* h5 s9 e; @
}
5 V% m, d2 K6 @
0 O' v, D" U8 r6 }
- B6 K3 a6 ]; X+ H8 o
# D3 F% v$ v7 m- p" e方法二
: O( Y$ D' F& L" @; h/ r通过Android SDK and AVD Manager更新所有SDK。 |
|