- 在线时间
- 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文件 的错误& j4 s0 I* m* `0 e6 E
问题概述:
- T" `. A, g( c3 Y
' K' h" ]& R& m: `在新建Android程序的时候出现以下错误:1 T0 h; o, X2 R; E2 g
) B8 B" [5 [5 K3 d2 `
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件' k* r1 Z& g( H- y8 p
. N0 ^* t [0 N+ O% `7 t
- y- l9 F( q8 y0 z& e( Q+ }
& b! g0 a! K: R# c1 H6 Y
原因:4 q8 F8 S9 M+ m! l
* a+ h, U9 l" F' bSDK不完整。
3 j2 G. D" q) N7 l9 K1 m7 T' ?
7 l9 v- p* k9 u: X, ?' P ' p3 U! R5 V5 k! l& f
( q/ a, ?3 p& J2 Y" }5 V
解决方法:
4 f* H$ v. L+ t
1 x9 s+ a) o* J! y方法一 H/ k7 h D4 A5 f c# s
( k1 q6 j4 [, f& O% A可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件 p5 x% P( N: p* k
9 q- o5 Y9 t" A% q% K+ F. G
然后添下以下内容:/ b0 z1 `6 b, T+ P
: g. d' r3 q8 ~% m8 f: `4 ]
. g& ?4 h, [5 K( L( p& @proguard.cfg: B" M# x' y: d& z$ \) ^- c9 v" j
-optimizationpasses 5
& Q' l0 h1 u& {% I' X5 ~! r1 }-dontusemixedcaseclassnames
0 ]* n1 J) u3 B. ]+ f, y7 o0 ^3 u-dontskipnonpubliclibraryclasses" A3 t* Y& z* p% b7 r
-dontpreverify
5 D) H. x7 m, b-verbose2 L1 V9 x+ v2 P1 R$ D% m
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
2 d3 a8 I6 R( {( L* M: i
1 [) X# b8 H/ `+ R0 z-keep public class * extends android.app.Activity
% j9 }# a# x( ~4 U-keep public class * extends android.app.Application
1 e4 r/ p' L8 C-keep public class * extends android.app.Service
( ]0 W- {& H+ |; @9 J1 b-keep public class * extends android.content.BroadcastReceiver" F- g* _' k& z0 {' I* j
-keep public class * extends android.content.ContentProvider C! g: ?/ F3 I l1 l; V2 }
-keep public class com.android.vending.licensing.ILicensingService' A& j+ ~3 z0 @ h$ {5 g
* O% @9 U P' s* [5 M0 u" x
-keepclasseswithmembernames class * {
2 V9 ~. s! ^; a: U/ W/ [# x/ g native <methods>;4 k8 ?/ O+ j2 U6 ^' x! h
}- c) p1 x' L7 W
, E: {: v4 F8 ]5 b-keepclasseswithmembernames class * {
0 v! Q& t0 T4 \( D& K public <init>(android.content.Context, android.util.AttributeSet);
) Q) S# P4 U4 j6 I6 J* o# ~9 |}
* E0 ?3 U! ^: W: l7 G6 E
' K1 {& z% x& A; w: V4 D-keepclasseswithmembernames class * {) D2 ~" v( u& ?
public <init>(android.content.Context, android.util.AttributeSet, int);
9 ^4 n* H& l1 Q2 _3 j. M/ E' |}
# t# }# \- G4 J h8 m1 H# @6 D, j. N
-keepclassmembers enum * {$ y1 b* J" v/ }; ?% p
public static **[] values();- J9 Z* ~( C! Z. U2 L+ R3 I
public static ** valueOf(java.lang.String);0 _3 u2 u( T9 h3 c+ E
} k- Y5 ~ \; S( m( p4 j# `5 E0 G4 z
2 [, M) c$ T) X0 {% C: Q w-keep class * implements android.os.Parcelable {
% d, ^7 t3 T2 e7 K; T# k public static final android.os.Parcelable$Creator *;
7 |" P0 C7 B' d, k/ @" g, `}
& c. K a( g* J* h& e- K$ }2 \3 v- K) V. V9 m/ y4 f
* H- C1 k6 B* A4 ~9 Y7 m& H
3 { @5 L8 h- _' V- E7 a' J1 A0 d! m- z方法二( F: N% Z* c3 S* f2 |
通过Android SDK and AVD Manager更新所有SDK。 |
|