- 在线时间
- 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 h1 H- S- r" l+ R; E% o0 Q/ h问题概述: [% j9 y# R, \& N2 w
+ e5 Z$ h0 F- c5 w6 }
在新建Android程序的时候出现以下错误:
) U& {+ s) P3 j5 E
9 U! H; x9 T5 A- H1 c& G找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
: v o7 n" q0 G! J$ F
4 m: C1 r2 d# R& P
! I2 \3 J; t6 l. H; S$ T( z8 K+ R s$ U/ V! @! z. r
原因:- N, o4 H! f- |2 q
- z" R; V {( w7 v- R9 Z# m
SDK不完整。
, X7 h, X- R/ V' }2 x
* w4 f6 V9 D" |
. r: o! _4 H5 S6 \9 m. m( k6 N* d. |* S0 S# S! l- g! f% [9 b5 s
解决方法:8 i4 ]9 h( m: X4 y
" {. z+ N* a( x5 Q' q# v% U
方法一
+ k# Y' C; ]$ _. V. k5 \# M
5 e* h7 H- T6 I0 @可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
1 _% R0 E0 d/ p2 l' i
- a/ K+ }1 R2 x1 Q然后添下以下内容:
6 M0 T" W2 V. |6 f# `
3 m0 g; H( `* A: G; r
6 V3 _8 [; z. c2 |, ^1 Bproguard.cfg
8 b2 `6 u" M& J, v-optimizationpasses 5
|) X8 \5 ` @: {% w6 ]; b7 e2 S H4 x-dontusemixedcaseclassnames$ Q6 i* h9 z, y
-dontskipnonpubliclibraryclasses
* @( Y6 o. U) s, z' v' V2 q-dontpreverify
, g' C4 `$ v2 c' w1 G& B1 B% P-verbose
9 t& l* m. _, I-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*; W a4 K* F( [4 J1 K" A
: }# o# r& K' e# N2 y1 O$ z
-keep public class * extends android.app.Activity
4 O) X/ F; U0 n-keep public class * extends android.app.Application g5 ^6 z; V- v) Y
-keep public class * extends android.app.Service6 I( |8 x9 O, I6 t# ^
-keep public class * extends android.content.BroadcastReceiver
; }. q1 b: i: C$ I& z+ X4 R- ]0 @-keep public class * extends android.content.ContentProvider
2 |; Z- B9 w7 T6 ?8 y5 T# d-keep public class com.android.vending.licensing.ILicensingService4 e0 J' a4 d( n8 \) J
: O" S- t! C5 C/ K0 ^-keepclasseswithmembernames class * {4 R$ [# F3 s0 }2 T( j
native <methods>;
5 g' R" o1 j4 h}
+ o$ S4 i2 r) T) U7 ~4 Y& ~3 W* i- g
-keepclasseswithmembernames class * {) A z8 T6 F) D _! y" I; ~
public <init>(android.content.Context, android.util.AttributeSet);. v) o# q; B6 z( C* G* c
}& x) b* \4 G$ p# L( R, B- E2 r
6 ]0 ]8 K3 k0 S, J
-keepclasseswithmembernames class * {& ], m' U. p: z3 e. |. P" F/ }
public <init>(android.content.Context, android.util.AttributeSet, int);
: A% j" L" w% a* K! G}; c0 e3 g" F5 @
5 {1 o: N: i- A$ t1 t
-keepclassmembers enum * {2 j2 W/ B- ~* k8 p
public static **[] values();
( B$ A7 E* [- C1 ~3 D. |* m public static ** valueOf(java.lang.String);1 ~5 }' {' _( a1 Q' x
}
; o" A. |$ ]5 @# {2 W6 d# Q- M( |- p: G1 f- R$ p
-keep class * implements android.os.Parcelable {
# k' r* X( p* G4 d public static final android.os.Parcelable$Creator *; a' {2 r2 E5 n% Z4 o' K1 T2 {. w2 E8 {
}
1 c T6 e7 e. {3 O, ^
: ]( ^# ]- V8 ?. c2 G2 v3 j2 ~
Z$ i& q9 a$ L4 ^: A( C: I- n7 n4 R8 S) z; h+ g H F
方法二
]4 T. Z6 y- t, d: _9 {5 I6 g通过Android SDK and AVD Manager更新所有SDK。 |
|