- 在线时间
- 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文件 的错误 J( u# K$ X4 }6 u6 q) H$ ?
问题概述:# ]+ a, m* Z7 g
7 l# s4 G: {9 Y4 h. n9 F
在新建Android程序的时候出现以下错误:, q, a0 A1 V$ V" \: Y1 B7 q
/ u' J4 B# t7 L% J$ O找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
7 ^$ V n/ U2 ~, c. {1 p
4 P& {$ T7 D: Q- `
& \: p/ W. o' U* v3 }
" Q& k, Y! s% t" `2 G原因:
! H' l1 N# } S* n! G
) r9 B' t; P0 ?3 {, i' XSDK不完整。
( z6 |1 \7 ~+ S8 D) r9 l
* E* m6 O. b, }8 @: t$ v
" y8 Q9 t( n! w) P
! C4 L- @% M* _5 h解决方法: y/ d9 z9 C' \) \3 ?# s
5 [, E9 H- V4 f+ S1 P: y( X
方法一; d5 C0 a, D' `9 G' Q% J4 ]! h2 y
7 h! M. z: T; I" C* g: \可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
& S" s, g2 x, D- x' R- x D) ?: E/ M* E/ {& m$ J* \
然后添下以下内容:
; U# \" L J9 ]- {, ]
O( ~& _) s# T/ @" { z; t- u" j0 Y. F* k" L- C
proguard.cfg
4 N+ p" x' o6 n U2 C# v2 f8 f-optimizationpasses 5
1 I/ O. O5 m0 A-dontusemixedcaseclassnames4 Q; a b% X8 v, E9 Y+ L
-dontskipnonpubliclibraryclasses8 d* L( D# { e1 N" Y$ @: U" s
-dontpreverify; K' X7 g6 f, {
-verbose7 L5 ?6 s( _2 y. V6 P. o
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*5 }8 g/ M; V2 d% k* v
0 }( h. b0 {$ z
-keep public class * extends android.app.Activity1 M0 b! M2 u9 [# L+ Z7 x: X# X
-keep public class * extends android.app.Application
" c+ w( \) K7 h6 h9 p3 X3 X-keep public class * extends android.app.Service% t3 o$ m% `) T5 B5 g* @
-keep public class * extends android.content.BroadcastReceiver
5 k8 N2 l/ F9 Q9 n-keep public class * extends android.content.ContentProvider
9 d. J+ V& V/ Q$ X, E' i-keep public class com.android.vending.licensing.ILicensingService+ z9 ?' R7 J" J8 u
) N# C% ?! b! B4 m
-keepclasseswithmembernames class * {! y2 ?+ v- ]9 Q( Y- Z6 s& G! L3 {
native <methods>;
; ?2 ]9 m( U3 J* O) t}
% M0 h! Y! I4 v0 Y- U) M; x2 ]& f6 [% o+ s) t: U4 q: I
-keepclasseswithmembernames class * {) u6 a: E0 I6 G4 Q/ }' a! x* O( E
public <init>(android.content.Context, android.util.AttributeSet);
3 _; \/ t$ F. t1 K4 u* m}/ m# N4 n' ]/ v/ J1 l
- Y3 y( C. i" k/ B* R* I-keepclasseswithmembernames class * {+ L1 D. H5 R$ m; a/ v2 M3 }$ U( ~4 E
public <init>(android.content.Context, android.util.AttributeSet, int);
( g2 M) G4 |& Q- T0 Y! T5 E}
1 R" {6 U1 k# S, _ L: T8 }
* A: C) T2 O: G5 g4 \( {-keepclassmembers enum * {7 Y. N6 {/ C$ T. ?0 A
public static **[] values();
: u& W+ R% p- c* r3 f public static ** valueOf(java.lang.String);6 X% f0 t- y5 C
}, p. A. {( U) V
6 [" a: Y7 F, |: t! w: a) i
-keep class * implements android.os.Parcelable {
( ^# P3 \( m) \. w public static final android.os.Parcelable$Creator *;
, }. D2 X4 G. t4 F}
2 D% s2 f: I. R$ ?' g3 V" {3 S' u1 p/ c% C4 B
$ c, z: ^5 t& Q. b: x# q
5 K5 n' s1 W9 m! v, e, u$ @
方法二
: W: d+ F! i- n0 h通过Android SDK and AVD Manager更新所有SDK。 |
|