- 在线时间
- 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文件 的错误( ]& R$ K" U; N) Q( h" D* D
问题概述:
( k' R) s% M4 @8 N5 s' B& u3 d
% p3 h6 R5 }; o在新建Android程序的时候出现以下错误:
* q9 W# P# d9 N8 Q9 I& k, M
5 c4 I: G; k$ P$ I; i; ^& _ B找不到 \android-sdk-windows\tools\lib\proguard.cfg文件+ ^1 S3 a f1 b1 C
# B+ i. X; c3 r$ O
) t0 X! L1 o T5 w$ B
7 D4 S: T" X, m1 A- I7 i% l7 R! W! V
原因:
' H$ H; n% J& G5 X( w, i8 [$ L' Q$ R% Y9 t( \7 G5 [
SDK不完整。2 d9 J8 o# P$ n& r7 Z+ W/ S+ f
1 v! E" Y( |* Y& u ' _, }( L8 d' e
7 i3 @2 f! K' K
解决方法:5 D# ?+ a: H9 C E
! M' o" R/ B8 e6 H
方法一' {6 `4 O. S+ D+ Z. r- g
, T& A7 T# l7 k0 D9 v可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件3 M7 h7 Q1 Z6 ?% h# u+ b! F7 |
3 M. T3 V/ C! D5 ?/ D; A然后添下以下内容:4 A4 Q) e1 b) k% o# Z
8 U: c! ]8 V' @, L- V( R! Y8 w9 s- F, u' \$ D
proguard.cfg. O/ [5 I! ~ D6 ~. B' q
-optimizationpasses 5
2 v0 ?+ E0 J* W- c. i-dontusemixedcaseclassnames2 Y& K# Q7 ^+ R* k; b+ [/ d
-dontskipnonpubliclibraryclasses- R8 W# k5 L2 u6 d2 f7 `' }6 z# s
-dontpreverify% ^( w& k# c& Y, I
-verbose7 m2 z$ E) x; {+ d9 \: f, k; \
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*6 r" S4 {# v7 ]+ ~3 Z
; P; l- V8 k7 {9 `5 w/ C8 l-keep public class * extends android.app.Activity
1 d; w9 ?/ k2 M8 u4 i, c8 j( F" {; z-keep public class * extends android.app.Application
& f2 _0 U q2 F* ^5 c, J- g; B-keep public class * extends android.app.Service& H( H7 i' }: Q: o3 T \- `
-keep public class * extends android.content.BroadcastReceiver
1 B7 H9 _" {1 s$ h& v! V8 |-keep public class * extends android.content.ContentProvider2 x1 T; E% p0 u8 ~: { f6 w* X
-keep public class com.android.vending.licensing.ILicensingService
' G4 [7 M) U) P2 n- G& d! w7 `8 I6 {4 V1 l0 Z% k
-keepclasseswithmembernames class * {" H1 B4 s6 A4 y( d
native <methods>;; G5 T' K8 C {0 w% u, G# `
}& w; V4 }) ]" l3 S: u Y
1 f+ F4 K- r4 }$ {9 X( w% N-keepclasseswithmembernames class * {7 W) H# p# k0 q( O4 I) k
public <init>(android.content.Context, android.util.AttributeSet);
. |8 H; w( l2 G* t( F* z}
2 l: L) _/ A2 c/ l+ m2 ~
2 h! l$ U$ e9 U& F-keepclasseswithmembernames class * {2 w4 f, Y3 D% p. t- f" Y
public <init>(android.content.Context, android.util.AttributeSet, int);* m) H/ X w' j$ j
}5 P p; d! ^3 I; p2 ~9 C, Q
! H8 q, y9 S0 j
-keepclassmembers enum * {
0 U( y) ^/ f2 a3 w- P% E public static **[] values();
# [) } o2 M- x, I8 p public static ** valueOf(java.lang.String);
4 Q* I+ c5 a% a: h}. I' p5 j, I% a, W! H6 M& t
9 ?1 W# Q# r' y7 }9 x! U2 C
-keep class * implements android.os.Parcelable {
. Y5 x- Z- O8 b, d2 w" j K public static final android.os.Parcelable$Creator *;4 O, F; _8 ^( D% c: p! ~- a
}
7 w1 g8 w! n- M' y: m
( U- I: H/ ^$ |2 b8 R3 f + e! ~( }: G2 B; [3 d
) K* a( S% a* ]: m. T
方法二
" C1 n4 [" K( d通过Android SDK and AVD Manager更新所有SDK。 |
|