- 在线时间
- 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文件 的错误
6 k; w1 z- l: M$ F问题概述:
' ]# F U6 ]. s
9 V& t6 ^, X& @& }7 ~+ e ]1 p. g& m在新建Android程序的时候出现以下错误:
0 E* E' a, v. `& i, Z# W
$ g7 \' e0 u* q& x0 C找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 j/ @& f- _8 x! w( b$ y0 R% `) [
+ v$ ~6 `0 D; P* P
% H/ a1 |7 O- s$ G5 P5 X- y
: @* Z+ d7 q$ K原因:6 p: l$ Q4 b* t3 ]' n
$ Z7 i: q9 V( u) a KSDK不完整。
1 m7 y* S4 X* a& {2 e' E
% Z7 b* l! b0 p: a* Y2 J# S
. m4 b# H6 g7 l9 W" y' S/ N& J! R. h9 y! `1 h; b
解决方法:
/ i$ G- B0 R4 A: D7 m) e) {
! M" t9 m9 |( |- P方法一
. X9 F S* ^8 J* V2 v- _
8 Q, X y$ e3 e0 r可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件! K. A! ?$ v- `; |! ~
) O1 E# E* R: ~: O/ _& B然后添下以下内容:
# o' B1 O! }7 ]3 R& ^8 q I3 Y \9 M0 b5 z! u6 u8 m$ U
# |1 L8 I+ J7 i) t5 uproguard.cfg0 v- C7 @1 ]- C% @# [
-optimizationpasses 5
- D5 ~) c/ R- C, A% i% T-dontusemixedcaseclassnames
* w' T+ P& p! @6 K* @-dontskipnonpubliclibraryclasses
; M" V3 v7 |) u( N+ b9 _-dontpreverify* O: \" n- X u }1 g0 K" v
-verbose
9 A+ l( }: G% A4 L-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*; R7 s9 m# W* f
+ [1 ^* b9 o. `, z-keep public class * extends android.app.Activity! u& v7 `, T2 ^
-keep public class * extends android.app.Application# S* h5 R: p$ H, j
-keep public class * extends android.app.Service
( n2 x7 S* Y. T" ]' m/ W4 G-keep public class * extends android.content.BroadcastReceiver
, E+ J5 B& c7 j q/ D8 V-keep public class * extends android.content.ContentProvider
8 k, W9 `. e3 R9 Z: c/ @-keep public class com.android.vending.licensing.ILicensingService( L ]% d+ e6 {, D
# s. N: t3 x b; r-keepclasseswithmembernames class * {. I, L8 o6 F a) B
native <methods>;, g+ Q9 J7 S0 k$ s5 K+ Y5 L. P
}5 |1 B1 b/ J& {6 P
2 V- J4 n8 ~5 Y, a3 R8 T
-keepclasseswithmembernames class * {
" M4 u: e1 n# _8 z" F public <init>(android.content.Context, android.util.AttributeSet);3 M0 @5 t3 X: f b0 q! q2 u
}3 A; ~' x) S+ f! u7 q5 P
/ T, u+ Z/ S8 L0 }, m! a) r-keepclasseswithmembernames class * {
a7 Q# z: E1 i0 W! n. l public <init>(android.content.Context, android.util.AttributeSet, int);1 Y: O5 Y' _" K" `. Z. L
}
4 M1 Q9 S0 `8 U* X" L2 z) @
2 T) ]- |( D/ P) l! Y! Q-keepclassmembers enum * {- r! X0 _; o# O
public static **[] values();0 n/ ~: z! j, h& c- B2 `5 K- Q
public static ** valueOf(java.lang.String);
5 b5 Q, R6 ?$ G( u}0 ?6 p4 e0 P% Y7 ]3 N& ?
& a3 ]0 L- f6 I$ t. @! H Y7 @. H
-keep class * implements android.os.Parcelable {6 y7 r0 w- A ^% A
public static final android.os.Parcelable$Creator *;: G5 z D) ~! E4 J; ^2 v
}: X1 `* Z, {+ Z0 L# v9 Q" U
7 Y6 `' M. }% |6 Q5 z; A; w' H# u, b
7 f W2 M+ I+ y3 Z4 M
5 r& W( a: X8 X5 ?! A方法二
& C3 E: N+ p, J0 N% h9 D通过Android SDK and AVD Manager更新所有SDK。 |
|