- 在线时间
- 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文件 的错误# f6 \/ n# z+ p6 Q( Z: I
问题概述:
! a' M/ Z B* ~/ E) K! Y
' [& m9 X. _- N3 y( G% l在新建Android程序的时候出现以下错误:
5 q4 h( s6 e1 E
4 k2 T7 ?$ L( u9 f找不到 \android-sdk-windows\tools\lib\proguard.cfg文件6 g; a' P" t2 {! ?% s
/ G5 o! A" G; S
: [$ n1 ?% H7 t" w$ V2 p3 v
# @; w8 S; [$ e r3 {9 w* `原因:5 q$ n0 i0 Z8 V2 [. g
$ J2 o' J7 ~0 y" k$ xSDK不完整。
7 j& |9 m8 R8 I& g' w7 U. W+ m2 r; m8 [7 P
8 e( R2 T4 B; M) m3 f5 D) X# M$ _3 T8 U
解决方法:5 l% r, p- [* c6 P( J
3 X3 }5 s* T1 |# p8 s( @$ y方法一
% P" ]% a* f x5 V# s( R' L7 T& `, T, `
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
3 b( u7 K$ n# a4 S. D& W; y1 P' U9 T- w" L# K# X9 I0 z4 w
然后添下以下内容:- N' Q6 C i9 R" k& G! u1 S, S( H
: I; _' i2 \ g) m# s
% V# T4 x s% x9 }6 k! e) W& H1 Y. Tproguard.cfg
6 J C% ^! U, r-optimizationpasses 5 ]0 X" U, b1 M: d6 n3 o, A: v
-dontusemixedcaseclassnames
S2 U) F# `7 }( W2 r-dontskipnonpubliclibraryclasses3 K; b) r, x$ N, k# V# e
-dontpreverify
$ L* q2 u: p5 a! u-verbose
, i5 a7 t2 y3 f+ z" I* O7 O-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*+ B3 r; H! T, M4 ~; v( z! x
$ k: N% b% N- `6 i' f
-keep public class * extends android.app.Activity
& s3 h- Q7 D0 r# i-keep public class * extends android.app.Application
% G" @" k! T# V0 A) I: r! S-keep public class * extends android.app.Service6 K9 C9 ^2 `! Z5 I! N" l; J
-keep public class * extends android.content.BroadcastReceiver
# v% I8 R, P4 D-keep public class * extends android.content.ContentProvider
( O2 N; v5 K0 O$ {-keep public class com.android.vending.licensing.ILicensingService
: U g0 C0 A$ {2 `7 U$ H! _0 m z" _! R
-keepclasseswithmembernames class * {
) b- V! ]. m8 A2 q8 j native <methods>;9 a/ R0 r* @9 C
}
- ]2 W) M7 r" [& [6 @ P- v7 r7 Y- ?6 F4 o1 @2 b( {5 y
-keepclasseswithmembernames class * {
8 p# W# ], I. ^: P7 q% Z* p& q public <init>(android.content.Context, android.util.AttributeSet);5 u/ f% l1 N) y: v5 ]
}
# A- h- Z9 D+ W+ t* q E& {/ N' a& l6 c( p) L% N. o
-keepclasseswithmembernames class * {: ]4 r2 K- z, N7 x( p2 X) u
public <init>(android.content.Context, android.util.AttributeSet, int);
. J* x! }5 }; T. `5 X}5 p5 g1 y0 ]. i- P2 h/ g
$ R7 j5 h& a- R( b( R
-keepclassmembers enum * {
5 k( k6 \, H& V" J' }# t, g2 {& O public static **[] values();
. W" z o6 V/ U! y( Y3 _7 @ public static ** valueOf(java.lang.String);& O+ U [% a/ w( A6 g( d
}
+ _8 m6 @ \& d; i- t7 J" J& w# d. L. n' k6 [8 c0 `
-keep class * implements android.os.Parcelable {
* w1 \( v5 L6 M2 L1 ?8 T" K+ M public static final android.os.Parcelable$Creator *;1 Q3 P$ O1 S) y8 E3 t8 \0 s2 l8 J
}
+ K( T4 ^2 e9 s" @. J8 ~. ]3 n
3 F% \- T3 m) f7 |+ _' i 0 H& c w4 z1 B( A7 T4 {5 Z
& M+ `; ]5 I" v8 \6 b. g
方法二) P* T/ }; g" R2 y5 V# g
通过Android SDK and AVD Manager更新所有SDK。 |
|