- 在线时间
- 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文件 的错误
, r6 S, F1 n3 u$ y4 p4 {9 B# ]# @问题概述:
/ ~; R7 Q, E8 _3 z7 \( S3 y" C/ N
在新建Android程序的时候出现以下错误:$ s d0 D8 w. h
4 N) R7 \) w' L- L
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
" s4 D( b- E. w7 _ R8 t" b4 h0 q- @, T$ D+ ?: e
) s/ T" E6 p1 h$ b/ e: w4 |& ~! b. J3 J
原因:
( \6 e: j! Q3 t, ^4 R7 D! ^
% ^2 n+ n4 m BSDK不完整。
* g6 G) S+ J# @! i, ]
7 q7 ^' x2 S' n [' ? / R3 F1 v6 E. Z% B) j
: [/ R$ }1 J1 l/ s9 z- Y x解决方法:
4 t0 L [! V* Z* F, |$ h7 R9 u6 D& W6 w+ l" N3 d0 `
方法一
6 @; m5 p4 M8 C. K0 ]8 ^
$ H9 z9 b7 C* S7 I( U/ G4 ^- f可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件& j) R6 ]0 L2 X: J( w0 ~
" ]2 a- x: D, m. U: I0 ~
然后添下以下内容:
' e$ e3 \( Z! `3 a$ U) v; F# s
) S, [! ?- N' ]% W' B
, g! `. I+ N" g6 V; Y0 V( m8 Z) Zproguard.cfg
7 F+ _4 |8 T$ c8 d o-optimizationpasses 57 G) W! _" o9 k9 K. B; n, b- K3 g
-dontusemixedcaseclassnames
' R( \3 g& R! ^: `7 b-dontskipnonpubliclibraryclasses3 }, f7 L* u: r9 a
-dontpreverify. r9 w: x3 h/ { u- j
-verbose
$ g. G" r B- u& l( @8 y-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*7 j% v5 s; l3 O2 t+ }
3 a# A3 s7 H4 r: F. P- n
-keep public class * extends android.app.Activity& Z2 r8 [& w. w: q2 S7 m4 f
-keep public class * extends android.app.Application; [( v, p! p( g7 L6 Q& n4 T* _2 ?
-keep public class * extends android.app.Service0 `9 e" e* \( z/ Y( q
-keep public class * extends android.content.BroadcastReceiver5 W; e7 J$ I: \4 i; j% D
-keep public class * extends android.content.ContentProvider1 J! G' @6 c; j9 N4 e/ ]7 h
-keep public class com.android.vending.licensing.ILicensingService# @; p6 d% ]( ]! l J7 b
) `7 F. e) T4 @$ A4 D, i0 e3 d-keepclasseswithmembernames class * {
$ [5 `! b8 k+ m+ \4 \" ~) ] native <methods>;
* f' { y2 ~' V y3 i& Q' I}
) P1 `4 c$ G5 s" t( s* h% u) |- H8 N4 K$ [
-keepclasseswithmembernames class * {
1 A$ r2 W& x N; q4 F, S w public <init>(android.content.Context, android.util.AttributeSet);' p8 R b4 N( B( r
}
7 r4 M1 A! N* E! r$ _1 N
. L6 C6 b' ?8 {. F# S-keepclasseswithmembernames class * {
9 X9 L# o: v; s A( m2 c* A% | public <init>(android.content.Context, android.util.AttributeSet, int);* l& T7 f+ H }* L' h
}* n" A" G) S7 C' D9 V& O3 q
- p2 ~" W' X" {) F, c-keepclassmembers enum * {
1 F" l- I1 j+ K8 x: l S5 Q B public static **[] values();# I& }. M' Q0 m" {# d
public static ** valueOf(java.lang.String);
: T; g2 ^- F2 S Z' T0 z/ D; Z}) }3 F2 ?7 l- H' b% {
6 s7 V+ {7 k' h1 L" S3 x) e-keep class * implements android.os.Parcelable {; w1 O/ `4 h" P$ r U* V5 Y1 Q
public static final android.os.Parcelable$Creator *;
' Y% m* s$ m6 `+ ~- S7 a# q0 ^}0 G; {$ v9 ?3 ~
+ k% I* ~- q" ]' } 8 p; g& S: d4 o7 X
: m/ \7 g- T5 ^) k3 V) {* ~/ u7 h+ [方法二% y2 Y3 V" A5 V+ H4 M8 {0 t/ _
通过Android SDK and AVD Manager更新所有SDK。 |
|