- 在线时间
- 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文件 的错误: x$ v& ^2 t3 g2 L: J; J3 i4 f# p
问题概述:& H% e7 h7 }" L( P. d: v
! ^ j' k& G* l8 ~# n在新建Android程序的时候出现以下错误:) z+ ]9 p+ ~) Z$ c( h# x- ]
$ H: D1 e7 ~; q/ F
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
2 Y& z" u( X5 \/ ^( U
$ y: }" \( {, ]3 {0 Y 2 D; }( z9 A8 M' Y$ h
7 B+ A2 ^) y; S; j( x- ~; r
原因:
+ t: D% {% \+ z1 q4 R# ]3 O1 U1 L7 f8 ~0 F, a# r# {* I( T
SDK不完整。
5 w3 h1 C0 r9 o, q& n5 x# P" z% H! ~) A: q- q8 W! V" t, g9 u# ~& ?
+ S4 v3 c8 X2 R
. W- c5 u2 p4 }5 d解决方法:
$ Z1 U- f, i6 d1 ^* n- S4 f
8 o. j- a0 H. U方法一
0 F/ e& h- s8 V3 o9 k6 Q" o: a, W- U6 O! D1 G7 j+ d
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
- G4 f& n$ E/ L& d: ]. ^" M( V5 F6 o5 g$ i3 r% k
然后添下以下内容:
; c, H5 s( A' n& Q) H
8 ^# G5 D4 @. J g! R
0 O4 w0 r6 }' {& r. p& Y: rproguard.cfg
( r( y8 f1 M1 q. o4 w4 Z" v; W0 N0 W* m-optimizationpasses 5: K' A0 g" _% F) r H
-dontusemixedcaseclassnames
! ]+ b8 ?8 D1 Q- z& t* n" }/ J-dontskipnonpubliclibraryclasses
$ P9 X$ t9 [7 g/ S-dontpreverify
$ Y( f+ F& r4 c. z% S, N( f6 l-verbose
2 X" o' _7 ?8 d/ {, U' e-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*; ]" j7 \' B: D6 y# V
" X5 L* s, V( x' ^$ j, `, F-keep public class * extends android.app.Activity1 w) F4 f/ X+ R0 J. e
-keep public class * extends android.app.Application+ u: |* i# S) ] i4 D! y$ k
-keep public class * extends android.app.Service' R! F3 y/ I! Y H. m
-keep public class * extends android.content.BroadcastReceiver
) ^ ^2 e; A: B9 W# O3 f8 u-keep public class * extends android.content.ContentProvider" \# C1 K% [4 t$ P0 B1 L
-keep public class com.android.vending.licensing.ILicensingService* y( C9 z" `. z& C' H) r
* l+ M) z. W) N$ Z0 U: T9 ]
-keepclasseswithmembernames class * {2 ^- O: }& r, p/ M1 B9 x# |9 Z0 O# m
native <methods>;
e# s5 L) V' ~* y, N. v4 T} X9 Y X/ B# {( i
. i# Y9 |0 I% r6 L-keepclasseswithmembernames class * {
% p7 Z0 Z. X- m" }8 c0 {: A. Z public <init>(android.content.Context, android.util.AttributeSet);5 E5 J4 z5 K9 ^. E9 \ x
}% s* Y! ], M9 G- U+ W; U6 `
" g- d- F0 }) Y. u-keepclasseswithmembernames class * { O1 b- [4 T. r* G+ N
public <init>(android.content.Context, android.util.AttributeSet, int);/ y( w; h' r. z
}: D& X6 B _- t( P" s9 l
+ f* w0 _% Y* {6 E p
-keepclassmembers enum * {
/ b9 U$ c6 z; {' z public static **[] values();
# i' P. @0 E0 D7 K* e/ ]9 }" E! M public static ** valueOf(java.lang.String);9 _! A7 P$ h) e2 ~
}
" E4 n' E5 h8 G/ v+ W' N# K j3 w9 }7 l9 m
' m7 w; F0 v! ^-keep class * implements android.os.Parcelable {
3 W ^! t- m8 s public static final android.os.Parcelable$Creator *;
8 u& R; X9 b5 u7 a4 h$ d}3 b2 N! u) H4 W4 a6 `
* N% W% |9 Q7 @( e n! U* s
! n x4 x7 g8 a
8 e. W" X3 N) h6 V# d& D0 s方法二" ?' c" W* W, Q# o" ^3 v/ o3 L
通过Android SDK and AVD Manager更新所有SDK。 |
|