- 在线时间
- 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文件 的错误$ p2 ], ^* D$ o& O" [) [
问题概述:% E) g: i2 S9 z) A( k t0 ?
^* G! N4 H' Q; v$ d2 g- i在新建Android程序的时候出现以下错误:1 {9 \, v+ ~& M1 \
4 f: }& j, ^/ ?# I找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
2 k9 Q! }2 m6 a$ w0 x# z" F" r0 n) ]5 o; `2 w8 Z
. U. K6 T) @0 c. e! U0 x
5 B( e/ e, _- p( [! c原因:
2 S( l; f6 c1 F" G( t9 S; ^, h6 Z, j5 Y5 T& E6 u% t
SDK不完整。
' a3 b8 ]% _7 U5 G
4 S1 m+ ^6 ~7 s1 @
j% S; j/ g/ q6 ]5 l
3 \: N; z: X) M+ z解决方法:
: y3 r: g! [# T$ f6 b0 S0 U; x
! T$ {: @4 ~- Z/ B. B, y) R- Y方法一% z& T) G$ J f0 ?
3 f0 i% x+ u u g
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
9 L3 Q# R, N$ @# O" Y0 b9 I, i; N9 l# H7 P7 x* }
然后添下以下内容:" r! j( ?! z( H
: D, ~8 K9 {/ T# D
( Y+ r% L9 b) W5 A7 h. j& b
proguard.cfg$ G4 l6 g8 I3 x7 L
-optimizationpasses 58 F2 C/ C! h% Z# c& D" z
-dontusemixedcaseclassnames$ k4 Y5 r7 X1 K' V
-dontskipnonpubliclibraryclasses
# y: P, p1 A! x( W-dontpreverify
& x# d2 C8 f1 L& [) a5 k9 N1 q-verbose
) Y# o0 \$ E& Z4 `-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
, C! ~- s9 |- E- d3 u! j! O/ b g# z, X
-keep public class * extends android.app.Activity
8 S, r+ c& _0 k9 n1 ]# u-keep public class * extends android.app.Application
1 A1 {- _& y$ a3 T/ L" ^-keep public class * extends android.app.Service
! O5 x; Z. e! ^-keep public class * extends android.content.BroadcastReceiver
3 U" a& g' o; X% K-keep public class * extends android.content.ContentProvider
% k" ]' x, _9 {( ]3 u-keep public class com.android.vending.licensing.ILicensingService6 ]! x' w! h, G3 t2 g/ W
# r8 D5 E: c! K" `7 O, ]-keepclasseswithmembernames class * {
# x( j% J! m8 v7 g* C native <methods>;6 A$ J- U- e$ Q8 c. r8 V
}
- D; f% N4 a$ N0 p, ^0 S2 h
$ k% Z; Z& V. B" S/ h: ?5 M- B-keepclasseswithmembernames class * {% b! S/ @0 U% M+ t& K# K6 o1 @5 I
public <init>(android.content.Context, android.util.AttributeSet);. H3 a, X& O2 a1 n% Z! l
}
! C5 T: c, a( `2 A6 h6 d' |- n9 M# b1 j
-keepclasseswithmembernames class * {" J! \6 U0 G0 f' I, @) h0 q' E
public <init>(android.content.Context, android.util.AttributeSet, int);8 t( R; Y a' G
}
, \: u ~( m: y g1 b7 [+ z( o+ ]6 s$ R$ {8 l- @! r0 K, u! _
-keepclassmembers enum * {' m d' E) o. ~5 X7 }7 K! G" h
public static **[] values();
; G5 u% A* `4 P5 s* |- J public static ** valueOf(java.lang.String);+ ]1 J; s; A7 K6 k5 X% v8 r
}
$ p5 x8 c5 d. T, t, a
5 H# ]- F. E7 Q- z/ `3 z) J-keep class * implements android.os.Parcelable {' C0 F$ r% c. x% D5 W
public static final android.os.Parcelable$Creator *;
8 ^% Z/ c* }3 X6 m8 _}
& M' C7 S; |; q6 M% U* |% u. v& N" I9 V
3 N: f" `2 G/ j4 R4 y' T. N0 K6 k1 ^. ?& L9 u& k7 c. m: c% _
方法二! {; f) _/ O2 q0 S. J: B( n7 \% }
通过Android SDK and AVD Manager更新所有SDK。 |
|