- 在线时间
- 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文件 的错误# c5 F* y: k# U' i; Y
问题概述:; _- _* y5 Y7 s6 S
( e! X; T3 y7 M
在新建Android程序的时候出现以下错误:
# {0 P' _ k, v$ ], u) Y3 ^
7 X2 a2 G/ U; \1 _5 s0 \! l" M, E找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
" X+ t3 A3 E- u8 Z) s0 i3 X
( \- ]$ k% u/ m
- a$ X# w" R; e! {2 v L# l
* B9 m& h' _/ Z# ]+ e( X0 q- X原因:
5 R9 Z# h8 [2 H/ z" x5 j
8 Y$ I% q; M9 o( m. n7 b) xSDK不完整。1 ^! I2 k# d: Z; U: r/ k/ }
8 W8 t3 P& M; ^. u1 I & h8 p8 G' @, T' I% i! M
( N. V- ]' W$ }
解决方法:' T5 v3 s( y) ^. c, j& {9 q
7 B- T3 p5 O1 u% A# J5 [
方法一
% d& \8 g4 M# X+ P& t9 `3 K) P5 Q# w$ _6 u1 I+ I* W8 K& ?: c" g0 [7 G
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件2 ~, v( N& A7 r ^' {
. `5 ]/ x& L2 V$ U A$ N. \% }
然后添下以下内容:
$ q! i; r1 g9 H( w, p9 l! q
# E! i& x% q9 k! o K, o1 k e2 W6 `. I5 [
proguard.cfg
% F* w9 N+ |. J3 w% K- {-optimizationpasses 5
1 S* Y# F! a. M# U' G-dontusemixedcaseclassnames
% A# Y" j' a4 O! S- [-dontskipnonpubliclibraryclasses9 g' L& _( w+ t5 t2 a K8 y$ M
-dontpreverify9 ^) j( Y8 y# Y7 [
-verbose
A$ J8 d7 J2 E d-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*" x7 i. ?. B( a/ i6 T2 `
( V u& {2 l2 j
-keep public class * extends android.app.Activity
1 j z D$ t- v7 ^0 ^-keep public class * extends android.app.Application
; k E/ [3 j! t& `" v9 X- |! p5 I-keep public class * extends android.app.Service# J8 C# r. T: t6 s) F! [
-keep public class * extends android.content.BroadcastReceiver
% c4 v8 u( H7 {8 h. B; I-keep public class * extends android.content.ContentProvider
0 [( ], Q( X0 F-keep public class com.android.vending.licensing.ILicensingService
& I, a6 Q3 d" l5 a/ i( G" V, F9 m. c& i3 u/ c( H& Z$ h" ^6 K( m. F
-keepclasseswithmembernames class * {+ d7 B, r$ p6 T# j2 r- v
native <methods>;* U' O- F2 c( F n4 w: v
}. j$ t5 z! s& i
" j% T3 j! O/ p5 H-keepclasseswithmembernames class * { F: o. d" V: }! |1 k5 Q3 O
public <init>(android.content.Context, android.util.AttributeSet);6 W3 V' {7 G# ^1 |; c
}/ u( Y) y; B3 v. w) G" g5 R
i* S5 \+ t& n4 p& h3 D2 D+ H3 ^1 c! [-keepclasseswithmembernames class * {
$ C8 w8 F. Q) D, U( R public <init>(android.content.Context, android.util.AttributeSet, int);
$ E0 j2 R m/ q8 k- g0 z}
! I. X+ G, v% P" i' N) Q8 Z$ U a' g# o# K4 D
-keepclassmembers enum * {& j3 U! m- L6 _
public static **[] values();
0 e4 ?5 e: {/ ?4 P public static ** valueOf(java.lang.String);8 f5 ]1 }/ x K- V) |9 p
}
3 D, Z( ~6 b6 A7 u& W% V) ~# A! w$ E
-keep class * implements android.os.Parcelable {( [: @$ f& x6 _
public static final android.os.Parcelable$Creator *;
0 w0 N5 A9 h9 A8 }' q}
. z( |; P4 {1 z# l. v. r0 m; L) ?3 E+ n. ^4 {4 D
1 m& S9 v z8 x& c, `& H8 H! z E
% u* W+ A+ I V) A5 ]0 K& v方法二
! Z/ ?! ~% a' G- L% M; }通过Android SDK and AVD Manager更新所有SDK。 |
|