- 在线时间
- 491 小时
- 最后登录
- 2026-9-17
- 注册时间
- 2013-2-28
- 听众数
- 118
- 收听数
- 46
- 能力
- 268 分
- 体力
- 39229 点
- 威望
- 1340 点
- 阅读权限
- 255
- 积分
- 31234
- 相册
- 2
- 日志
- 0
- 记录
- 0
- 帖子
- 1389
- 主题
- 937
- 精华
- 0
- 分享
- 0
- 好友
- 111
升级   0% TA的每日心情 | 开心 2026-9-17 16:51 |
|---|
签到天数: 265 天 [LV.8]以坛为家I - 自我介绍
- 内蒙古大学计算机学院
群组: 2013年数学建模国赛备 |
如何解决:新建Android程序的时候发生了找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 的错误# a7 u+ J, ^4 O
问题概述:
) z1 j; B2 }8 ~1 D) T- u6 `5 k
在新建Android程序的时候出现以下错误:
7 C: [2 r! }( D4 [
; k: F3 P& s3 j) u- f2 F5 _ c: s3 T找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
6 d! V( r3 e: j/ `
4 r( y1 e! ^/ }3 S" F+ Q' s
* M' Q+ |$ S( {# u H0 Z5 o# F+ Y( a5 e7 K
原因:& `' ^8 z1 ~; C* P3 a
* f# H& h& g+ w+ w
SDK不完整。9 L4 d' {) P1 I, X) k
+ O& I) s. j2 K/ U7 r6 \# A' n ( R% X9 C) D: ~5 m4 f2 P9 r3 q; X
( C# Y! O0 @9 T解决方法:
% H+ m$ c( ]5 X4 w2 [/ T m% G( w! S
方法一, T7 E+ T# _4 h0 o
) | z. r: e+ `2 Z, Y t
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
% [4 Q' P: b; k* h$ {* w6 n$ c( F8 A2 C7 w0 U: T+ Y
然后添下以下内容:
7 I6 }' h+ {+ F; ~, Y
3 K" D% p9 |. \3 y* Y" O' i
r+ |, I+ W- l/ Tproguard.cfg
( B1 l) b" T/ @4 ^* J1 V-optimizationpasses 5
4 k$ ~$ g2 `+ ] ]. r- D7 @: O-dontusemixedcaseclassnames
6 L2 d0 E( v9 Z# W' x-dontskipnonpubliclibraryclasses
: n2 n9 ?6 A; c* E" ^* u. `-dontpreverify5 S. @2 r4 T Q! l
-verbose
0 @# ~1 M2 q9 q-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
! j0 H5 ]5 l; ^! F0 r {" s' V" S; r
, K0 d. F1 B" w( |9 [3 {-keep public class * extends android.app.Activity4 U5 b0 S+ _+ K6 W1 C5 s/ k9 Y) b
-keep public class * extends android.app.Application
: G% A) N8 e* w1 l-keep public class * extends android.app.Service
, ]' x/ V' x1 ]: Q5 s' C-keep public class * extends android.content.BroadcastReceiver
! G U0 `+ `6 R/ |/ f9 w0 z, ]- @( ]-keep public class * extends android.content.ContentProvider
* Y2 v' e- D. w8 s" I& R-keep public class com.android.vending.licensing.ILicensingService# \) J7 i4 C4 z1 ~
) W* Z; Y1 [/ u4 Z" U, K-keepclasseswithmembernames class * {* q2 d6 v( b1 N5 h
native <methods>;
+ O6 @8 c+ D; _5 }}$ ^2 v0 w) t& _4 S
5 @1 C( ^ B" w- s-keepclasseswithmembernames class * {
: N' g+ P3 z: n5 `5 i$ r \) o public <init>(android.content.Context, android.util.AttributeSet);& b2 L4 e: \8 f
}+ M8 Y: S% ?2 G8 K; ~1 K7 r
o3 H/ R; L3 v7 _
-keepclasseswithmembernames class * {
8 v* w* F3 K" H. D: n4 \7 t public <init>(android.content.Context, android.util.AttributeSet, int); c6 e! f" V& F& C
}, H6 y$ M: L# t1 J, C
0 {) X/ C. r, t$ ]4 H/ Y' J-keepclassmembers enum * {
. \+ O% k6 {( h$ _9 w7 y public static **[] values();& i* ?8 I( b' O* Z; h
public static ** valueOf(java.lang.String);
4 ~" X- S7 l: D$ A6 H}* l+ X+ C& }9 p7 o: U6 ?5 R
) f) M4 g2 L2 B3 A
-keep class * implements android.os.Parcelable {' b6 h$ @, |; ~, t; F7 M
public static final android.os.Parcelable$Creator *;/ }( r, A3 I4 @
}
5 y0 Z+ }- z! W$ q% ^3 x4 d2 J
/ L7 X2 |! C+ h
& Q" o, T- ?' n方法二
2 Q" L' |! N( @0 g( P通过Android SDK and AVD Manager更新所有SDK。 |
|