- 在线时间
- 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文件 的错误- m+ j5 O# G" q# p' Q( v. `
问题概述:. C* f" ^& k/ r
# i: k0 M: I" N% Z" e5 z在新建Android程序的时候出现以下错误:
; k9 o* k% Z$ c7 }1 l5 j7 [0 m; [( k7 l7 U5 K4 T- t
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
9 A M }/ B' ]) Z O/ ~
' [1 }* j* w, Q5 {( Z6 p ) s8 u) T( ~- G1 O
0 I+ k& i0 K, m0 x$ Y/ {" h. q原因:8 b r0 y, { E6 i6 M
0 u- n9 \8 C9 z! B1 a6 JSDK不完整。9 K* H E7 ]. Y& f" k
# W' a% T0 t2 w7 v+ a8 Q
! Y7 r: @7 }/ ]( m( Q
' w n" u% S. L( q$ J解决方法:7 O' [4 P k. l% d8 J" G
) a/ ^/ A8 |0 l2 c. _( h方法一/ R' Y) O# v$ d5 @0 Y3 m+ P1 ]
& t6 v% I8 T' Y可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件 w, T Q1 Q& R8 ?7 z
, C0 V6 F5 X% I& @7 r$ i, n( {
然后添下以下内容:
( v. H1 ]: {5 v; m# k8 M
* i3 j( Y( C/ t9 X# Q! ~5 d2 C, t0 V1 u6 z+ y
proguard.cfg
# l0 o+ w5 ?% A3 z2 o/ ^$ {-optimizationpasses 5
' M/ @; s4 h, @* d( w7 K+ g-dontusemixedcaseclassnames+ G: y. N1 i4 |! r
-dontskipnonpubliclibraryclasses
# Y3 I. U+ x) ]- C* K9 r3 ~; T- ~-dontpreverify
% q* W$ p+ e2 g( [1 [& O-verbose& B5 d& R' M+ W9 G/ }+ y; `1 t" y% q
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
2 S5 m/ D' ?8 D1 H5 n1 y/ }5 _3 R& t, D, M
-keep public class * extends android.app.Activity
& f8 d0 t* |$ }- N-keep public class * extends android.app.Application
6 Z9 h2 v; g- {" }2 [-keep public class * extends android.app.Service/ Y8 j9 K" T) r: v- {
-keep public class * extends android.content.BroadcastReceiver
& A w; H% J# A0 r/ L4 _-keep public class * extends android.content.ContentProvider% T. ]+ k- U3 W! A/ I
-keep public class com.android.vending.licensing.ILicensingService
) b) H* d5 w3 j9 j6 Y6 Z% s4 D G# O/ J9 x' J/ ]
-keepclasseswithmembernames class * {3 m& L2 u3 A b2 e p
native <methods>;! }/ S& G) }, H% f3 w! z/ X
}
# ~! b* U5 I3 g! O& h, Y! k7 _3 V4 S
-keepclasseswithmembernames class * {- T2 o# D/ b! B+ C! p5 I
public <init>(android.content.Context, android.util.AttributeSet);& N4 [. L7 u3 K) O% f5 b
}
0 M) `( x2 j5 V4 G8 b0 C# }- [6 e+ e( ]) C6 Z' n
-keepclasseswithmembernames class * {+ A. B+ f! U; q& o |
public <init>(android.content.Context, android.util.AttributeSet, int); H5 m7 P. L s5 l0 T ~0 A0 s
}; C$ Z/ U, N( {) Y
9 V, ~1 C# x" J7 ]-keepclassmembers enum * {
: J3 {3 L% r' n& R6 N2 s3 E G3 H public static **[] values();: C7 i( u+ H' S
public static ** valueOf(java.lang.String);
" f/ r4 P% X3 @' p# ^6 |) W9 G}5 e, R" H6 P/ S* j! s9 ^1 v
; M( k/ d T3 R5 e4 Z' c
-keep class * implements android.os.Parcelable {
5 e0 `- k& ~) V w3 S" t( H' [& B public static final android.os.Parcelable$Creator *;* I o& x# V+ R8 p( W9 D
}
, d# Q% K. M2 ^/ L! D4 o; b0 I: I/ J/ t- p
5 E2 {6 C2 u8 h5 W( ?; L# ^! P( N
, U+ G6 {4 b# ~/ C' a方法二
$ {( Z" h* c/ b/ D通过Android SDK and AVD Manager更新所有SDK。 |
|