- 在线时间
- 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文件 的错误
. v( Q" m; u% W问题概述:
/ @2 J, F" d3 g1 B5 S: q6 v
7 u0 a8 D$ n2 F在新建Android程序的时候出现以下错误:+ H: o" O- {5 y/ b/ b
5 k& h7 @1 s/ m _$ V$ s找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
" q7 h/ w( A4 k7 M' P& Z0 j; j9 T- d# O3 b6 C! G% T" H
) Y- i; r9 E: z( z1 B; m* k% a6 Y& o- @5 ~* d5 N3 a" l
原因:' k6 [3 l; M2 A$ U7 |5 u
% v; G0 D. @" ~0 x, L$ y% jSDK不完整。
. b9 U" F6 m' _+ `+ f$ }8 H4 j& Q* }) g! B
2 |+ Y' ?/ M3 ]! V: m' l( ?& K
( u$ R& E; {/ a4 e$ ]3 t2 m! S" A
解决方法:+ ]% E B* Q( \
6 y$ ~2 s/ o8 G5 W7 y% O% {
方法一
J. q3 }7 m6 |* \, c; W6 i5 l, b
, F) f$ F% R5 J V可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件6 |+ G9 b! {0 P( c! ?
7 l" b) Q! N4 r* B0 `. b$ E. G
然后添下以下内容:* w8 k0 f/ A/ j. E9 c6 |
2 Z) \: q( Q; \, S$ L* V. P5 f1 X0 |+ F. p
proguard.cfg
6 y) y$ c$ z" W/ A-optimizationpasses 5
' D7 u9 x/ p8 J3 s8 C4 b. Z& c7 L-dontusemixedcaseclassnames
* {, E) T' ]9 ]) p, T5 h-dontskipnonpubliclibraryclasses! W5 r$ e9 L! C: t2 e; @0 t
-dontpreverify: e Z( }: h; `& x. j- p8 t
-verbose
E. i. Z+ x( L-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*- O' h% D* c& R, p
+ I, H1 [* L8 Z+ `1 G-keep public class * extends android.app.Activity
+ T; U) \$ O& {8 s* ?-keep public class * extends android.app.Application
6 @# k2 s* |0 m/ S: @+ B/ n-keep public class * extends android.app.Service4 a+ p; \8 v) ?% |
-keep public class * extends android.content.BroadcastReceiver
& V4 R1 O+ D2 k7 [% ^-keep public class * extends android.content.ContentProvider
4 O+ i$ {- n/ B0 d5 z b' W-keep public class com.android.vending.licensing.ILicensingService! |7 y: L4 g' E0 P g* d: Q' b" R
) G) A; z# @* N6 _' h1 u
-keepclasseswithmembernames class * {
! m6 s9 o' e8 Z( W native <methods>;: Z9 S" [/ y- N3 V7 C
}
! X# a: j* ]5 n: f9 H1 O7 T, g. n4 A5 H1 i" A0 h" n
-keepclasseswithmembernames class * {
- K2 p9 ~5 y3 s% p5 Q public <init>(android.content.Context, android.util.AttributeSet);
7 Z( O- u f, E8 r7 R5 U) k}
1 S' h+ u' X$ |" L3 C. D3 C$ ^
-keepclasseswithmembernames class * {
; ]% `. g: h% i; A7 h public <init>(android.content.Context, android.util.AttributeSet, int);
$ v5 w/ ~6 f6 K( m. z}' M; F' Q @2 s" m
5 `( ?+ {! g# p. K
-keepclassmembers enum * { g3 R3 }& v4 i, W
public static **[] values();
9 W8 r4 A& m8 }1 Z; s- p1 O public static ** valueOf(java.lang.String);
7 \. q$ j4 M6 l}$ x) c* L" Q r
( y9 o6 s3 D8 S. U
-keep class * implements android.os.Parcelable {
& {- h/ p( {9 T! r: ~1 ]$ f& G public static final android.os.Parcelable$Creator *;" k) p. N$ u% n/ Z4 H' I" I( w
}9 ]0 ~ k2 b% D
1 @# z7 p/ L% n/ S
" Y# e+ _- H" s: T! z
3 g7 B n4 s; w. [" R7 Y0 ^# p方法二
8 p1 ~: d5 ]* I# S: j# F0 A- g通过Android SDK and AVD Manager更新所有SDK。 |
|