- 在线时间
- 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文件 的错误4 l* y; h- `" k8 `& x3 f" [
问题概述:; D9 b$ X/ P4 x8 d2 Z4 Z0 N
1 H# Y- Y5 s( {& U" _5 m在新建Android程序的时候出现以下错误:
$ A+ K' h( ^& Q, p, Z3 L U, x; _
. B/ Y' Z, {/ D# e' p" P找不到 \android-sdk-windows\tools\lib\proguard.cfg文件$ |" @1 P* W A# B: z. Z+ ?) v
1 P) ~ j0 o; s! ]$ k
9 T4 Y- a& A* C$ A; \- |6 T! _- B7 ~2 z7 r4 q. L* K0 q3 h. F
原因:
$ c+ _/ d% ~1 E, d( a6 ^
3 j6 s! i* c2 n/ g1 d6 H+ [SDK不完整。" E4 I" F3 J+ `0 I- ~
8 a( v, F2 c2 L! `9 i/ [ 8 h1 x# Q% b6 u1 b- Q3 d
1 k3 z Z( Z# r0 ^' P5 b# I
解决方法:
8 c4 i2 n+ H: I- ]7 N( i3 k: e+ ?$ q% l( J+ S/ D
方法一
/ Z8 x; E0 _. X: J+ P, D; q0 H
# q% L7 v! [6 ?. H& B可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件2 f4 B; K( N7 V: k: `
+ o# M H6 m) u* d2 n9 q
然后添下以下内容:
/ g. z p/ @4 G/ O
9 z# A5 B1 X: u! ~. W; O9 ~, ]" K
* r+ C3 o# Q) S) u7 H& l: l8 l5 dproguard.cfg5 \( D4 w- k* o( M
-optimizationpasses 5
8 V4 [ G# ?$ @2 Z-dontusemixedcaseclassnames: D* M6 F" S6 [0 w( q
-dontskipnonpubliclibraryclasses
/ ~/ b- Z R/ V& \0 C-dontpreverify
& Y4 u6 J2 t( v# Y-verbose; `- m( }4 u, j( r9 z' O1 z% C
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
- z+ J' r6 |0 G* t9 _2 g% H0 @6 m5 r+ Z! \
-keep public class * extends android.app.Activity# h0 y! B O( r/ f" t- }; E- D
-keep public class * extends android.app.Application) V' r# ? i% g4 v
-keep public class * extends android.app.Service
, }4 B1 l+ @0 Z4 C. G-keep public class * extends android.content.BroadcastReceiver
! h* |2 n8 G/ b-keep public class * extends android.content.ContentProvider
$ N1 ^: ^4 f3 c: B/ E& S. L; j% j-keep public class com.android.vending.licensing.ILicensingService
) j/ W' _* M" q2 r9 x4 J, m
& I/ V6 U. i" B7 x7 W-keepclasseswithmembernames class * {
' U& R/ A7 U" a5 M% X8 F# q native <methods>;
! l$ `2 t1 j' j% P) K/ m1 ~0 S}
( g' ?: {5 ]! a. O: t6 z- A
+ e6 H: } q3 Z' _- [: S( Y9 w-keepclasseswithmembernames class * {
* ~1 H; [( m$ {) m9 y4 ]* r$ _& R public <init>(android.content.Context, android.util.AttributeSet);+ ]4 J3 Z( W/ J# e8 b$ I
}
8 ]' ~- k; k8 O. f# F; b
& v* m$ b1 A0 Y* b+ H-keepclasseswithmembernames class * {
. Y, p" G& Z) D1 A/ _" E public <init>(android.content.Context, android.util.AttributeSet, int);9 m6 X- j) ?4 f- h- b
}; R& M- a; i' I. P
2 a9 U9 H; X7 f
-keepclassmembers enum * {
1 I9 S$ E$ V5 S6 Q public static **[] values();* r/ d9 p# r% g7 O- s
public static ** valueOf(java.lang.String);
) o! d2 E1 U& d" p, ] ]- `9 h! K}
. |. u# m) \' W: \- C& Q# k1 ]& \: V) o
( H6 @& O! n: e* J- m- C3 N! J-keep class * implements android.os.Parcelable {2 ~& J# t9 W8 q4 T0 d$ ^. U8 K
public static final android.os.Parcelable$Creator *;6 v5 e$ C. n, T5 @* ^
}
6 Y0 [ V. m( n8 l) U K5 }) q8 S$ ?
: f7 X0 c- @( ~+ M
* R, s) N* {. v3 q3 P* y! {# m) ]7 R. N0 Q, Q
方法二
4 O Q) J; c0 e5 O) f* s3 ^通过Android SDK and AVD Manager更新所有SDK。 |
|