- 在线时间
- 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文件 的错误
5 X" F# c, J( d问题概述:8 U: g3 l4 `+ t. Y1 V
+ I0 ~9 _4 S6 F7 ~0 F, V. h在新建Android程序的时候出现以下错误:
% [- [( J2 C9 ]: N9 x/ _
/ i6 [0 g4 P2 j! s找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
3 J" }8 ^. |. }) g M
% ~" l9 \. {$ ^& q" L' ^
& M/ O0 Q$ v+ B; F$ N
( j: f; T9 M9 D" P原因:
% m+ h j- B4 C4 k$ T: V; b6 b! z" y- I+ O
SDK不完整。$ c& I# t. \8 j# N
! Y/ N+ P- t. v; q8 D6 k5 p7 E0 a! B
' i+ u: x/ F5 }# f3 _1 H
5 I; \+ E- x# }2 \0 q解决方法:# v1 j2 m: ~- T6 I+ \
; ^* T+ \9 V( H" B. ~
方法一: b# c1 t# v% u/ v/ v5 |) W# m
/ {/ i/ c/ j ^. D+ R
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
" R: e1 F8 b1 P' k/ u3 l. ]5 B4 ?. e
然后添下以下内容:1 Y$ A+ n% X# h' h+ e! L
7 s. f& j2 ]: y# Y2 u
' O3 l" I+ T* c' Nproguard.cfg
0 Z0 Q) l& R) r8 O-optimizationpasses 5
, A$ G$ B- |) w0 l-dontusemixedcaseclassnames1 o/ ^5 s1 ^; {) n
-dontskipnonpubliclibraryclasses5 e. B9 R7 \" y( y% t P
-dontpreverify
1 C, Y" B. a6 R-verbose
: M: Y( @/ ?& z& Q( g" E5 Z9 ?: _* H-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*7 b7 I# `' `4 b) C' `1 h6 ?
' S0 f- a7 ^2 E& [9 q( ~4 G, v) x-keep public class * extends android.app.Activity8 r& ?( \! F2 H. u/ k) U, o* ?- R
-keep public class * extends android.app.Application0 \; u' m* b# k. i1 @9 @
-keep public class * extends android.app.Service
4 ~6 v* G# L% w$ d8 q8 F-keep public class * extends android.content.BroadcastReceiver9 U) @% d6 n! A G
-keep public class * extends android.content.ContentProvider7 T8 A: s8 M" y. J$ |, R0 X
-keep public class com.android.vending.licensing.ILicensingService
/ Y* G3 m0 W. B5 ~4 @
' c6 u+ x7 j2 N0 C-keepclasseswithmembernames class * {
4 S' q) b3 [* m. z% b3 s. y3 q native <methods>;/ ^* k0 X! |& c2 H
}) d! p( @8 X* [, X# Y6 a8 p+ _- @
. K+ e) b$ {2 |! u1 g- x
-keepclasseswithmembernames class * {
; g; L; e2 z2 k/ g% |1 F8 r% n public <init>(android.content.Context, android.util.AttributeSet);# Y+ K% _. {0 t8 @- B" D
}
2 Y1 f: }2 L' ]! H9 U0 `6 q. S0 c+ @( a6 F& [2 l% [: U4 g
-keepclasseswithmembernames class * {
9 n% a; O1 F9 X. Z7 M public <init>(android.content.Context, android.util.AttributeSet, int);
9 p; |* S# z3 D8 F0 P}/ f$ @) T6 L8 s7 ]) e; I; F% M
; c9 s9 O7 d$ M7 U# e1 Q-keepclassmembers enum * {
9 y' A- m1 w% `0 n$ X public static **[] values();+ c# g1 J0 L! V' [0 a) p9 ?* j) _
public static ** valueOf(java.lang.String);3 s5 H/ U" ]0 m9 ~5 Q" d* m
}0 a; c3 E, [8 S4 W
P: _9 l" k; T+ R; s
-keep class * implements android.os.Parcelable {/ z1 e# [( g v+ A; v
public static final android.os.Parcelable$Creator *;& c6 g. C* X$ d) s
}
8 o) x5 |- g6 m4 H% i7 b9 l* e* T+ ?1 ]: @4 P: |- m" Y
2 Y" Z( S* h5 z* V9 B4 B6 M% I4 r/ e1 N" W/ G% Z! ?
方法二5 S5 }& z( g5 j5 G) c
通过Android SDK and AVD Manager更新所有SDK。 |
|