- 在线时间
- 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文件 的错误
% w3 i% d8 T+ A' I: P问题概述:0 d% c& U2 x ] E
; {/ \6 z& {" j: \3 |( O& y9 f在新建Android程序的时候出现以下错误:
6 ~. M+ ?5 R: H( c1 t7 y% o0 ~
1 J+ m* [1 {* C找不到 \android-sdk-windows\tools\lib\proguard.cfg文件) S2 {) a( P: N) P9 v; f
% v1 _8 K) ~9 _/ ]
) V$ U' S/ x) I5 |9 } I; Z0 F
8 |4 `: [$ w! _$ j: @7 f1 a原因:; F9 ]6 D9 E! @, o0 c, a/ u1 I
. H0 h% l7 s/ }2 u1 CSDK不完整。% ]6 |3 @/ {% l. ^& q+ |
a& }: N9 l/ o8 M ) x6 S/ R' |. W
4 A0 h2 P+ R4 z3 i解决方法:
4 [9 f$ ]0 \. h$ r4 ?' `
6 K! X+ b5 a6 f方法一# r0 F( V4 [. Z y, \* b
' L0 B: p, D: Q- @6 b7 U& ?可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
/ G- G) V5 a, q/ q7 J5 o( c% A! d f4 \: D2 O1 g3 d e
然后添下以下内容:
- h% j/ v1 X0 L! m8 l& W, t* v' ?* B6 C1 e+ Q5 n3 [! ^& o0 p
$ c2 L2 `) p# [- z$ e
proguard.cfg
, v' h9 R* x3 D" F, C9 ~; Z-optimizationpasses 5
& h9 H/ ?: Z0 J& A5 s-dontusemixedcaseclassnames
1 M R5 Q9 ~5 ^/ O$ q-dontskipnonpubliclibraryclasses
" r; i9 z8 ^9 F) C, [% P. U-dontpreverify
: p9 @+ j7 d: J! G-verbose' B2 E, S* L9 q! G' P
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*, G6 U3 Y# L9 k
8 \$ a6 x" c+ r( Q! x! |/ E$ J-keep public class * extends android.app.Activity8 S. K, o2 m% y: I1 `
-keep public class * extends android.app.Application+ P; T ]/ ]9 a2 ^+ z0 B5 f
-keep public class * extends android.app.Service
3 _8 |% R2 W/ R9 e, n( s# n8 Y2 S0 }0 p-keep public class * extends android.content.BroadcastReceiver
( L# A5 u4 v4 {$ o- B-keep public class * extends android.content.ContentProvider
7 Y& g7 |5 Q7 [1 M d1 F. F* x-keep public class com.android.vending.licensing.ILicensingService
: l' C0 U. \$ ?1 T5 ~1 m* i. l# u' g
* v1 V) }* _1 m- Z9 N u-keepclasseswithmembernames class * {8 C$ h6 h; F) R- F+ x- O% F w! O
native <methods>;
% O r' W+ W8 R! j, y. P# M- d" d$ p}
- H* Z6 w, L9 j# s! ]; E& n$ J- ^: ~4 V: o3 ^
-keepclasseswithmembernames class * {5 V( G" Y3 u- ?& K m7 ~
public <init>(android.content.Context, android.util.AttributeSet);
& n' J4 u! V- Y) v9 v}! y7 K9 b5 G$ z, g2 l; m
0 D) c* e& ]0 }6 D
-keepclasseswithmembernames class * {
- B6 o! b; G8 F5 ]/ _ public <init>(android.content.Context, android.util.AttributeSet, int);# N" s: l5 O9 N
}$ B6 c3 s- c: h _9 U+ |
5 b0 t0 _( ^6 q-keepclassmembers enum * {2 v- _- Q# a& }7 U7 U3 a! ^5 M( z
public static **[] values();
! v$ b. @( y7 ~( f public static ** valueOf(java.lang.String);
& C: ]( ] [! t# L}& D. t1 j6 l& L: }! b* S
8 ^ ]$ U; v$ `
-keep class * implements android.os.Parcelable {' a: X# T; x( a
public static final android.os.Parcelable$Creator *;
: D# Y5 U+ \: n) t7 {0 |* Y, l}2 }. l& c7 b; \* S# z9 V& T- H
" |. x( K9 I* e; A
9 H0 p z# s3 v- Q) Z8 {
8 z& Z2 Y- W1 m# K( z" k方法二; G# z8 w+ ^7 N) C- }" P8 _
通过Android SDK and AVD Manager更新所有SDK。 |
|