- 在线时间
- 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文件 的错误
$ M- ~0 T- \; f- d+ b. X: [! d问题概述:
6 a' `$ Y. j- t+ B T
' p( j( Y( e% G1 n7 [在新建Android程序的时候出现以下错误:
, o: `+ \* `" d6 P
* T4 H) m6 ^! v; j找不到 \android-sdk-windows\tools\lib\proguard.cfg文件9 l7 n; _+ X8 P: \5 t( ^: v) |
. y$ C; J" ~' o5 W" p+ I6 Q . I3 ~+ a) G) g' p/ h0 E
6 }* T# m) T! S% A原因:
! c& ?$ [1 o4 T0 W0 X" J& L5 J5 ?! o
SDK不完整。
6 R& K9 e3 h, G, K
2 s3 Q# [/ u: h7 S' u5 ], {
5 p: `5 n7 K% q6 s( j* {" y
' A% ~, f( Q4 M解决方法:
* c7 N: K; A0 N! R0 V" C. [
5 n( H( [8 h- } d7 l+ U% G* t方法一: K" A! E C; \
9 A. J' X( t8 z; T* D0 l, ?9 h( |
可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件
& [8 z2 }& \* E( `# W
% y4 E$ q9 g( Q8 V, w8 ?然后添下以下内容:- G- h4 D- a" r: A4 [
! l1 a1 r. G: j7 _
4 s( z3 J5 x9 g7 S( M* M, l
proguard.cfg
3 \+ T) R1 ^$ d" W-optimizationpasses 5* t% F: B; `" ]0 i1 D) Y& p, N+ J
-dontusemixedcaseclassnames
1 v- x& F6 R" ]0 t7 x: e; F-dontskipnonpubliclibraryclasses
4 [0 _+ Q3 p. d! P: S! C-dontpreverify) s `9 E N5 W" w# r0 @& x
-verbose
! f1 n$ ^5 ]4 U: _2 w& p2 G3 \-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
, y& Y' K4 j1 A, @2 ^2 a$ G* F: k* h4 W1 N3 m0 d* ^
-keep public class * extends android.app.Activity
* d- }. G8 {8 F* V5 v-keep public class * extends android.app.Application+ b5 k5 `3 ]0 g1 i
-keep public class * extends android.app.Service
) u9 H5 ]5 Y2 b3 j% _! f-keep public class * extends android.content.BroadcastReceiver
! h5 S, O0 o, x! L" n" G' q-keep public class * extends android.content.ContentProvider
/ Q% V9 ~- l; j+ s; |3 W" g- _-keep public class com.android.vending.licensing.ILicensingService: t) ? w! M" V+ c3 I
4 t( K8 E- F) i; ~3 T-keepclasseswithmembernames class * {
, E! R: C% J" J1 C native <methods>;$ w, N6 Z2 E( |
}+ ~8 O" V5 M. B/ F) J' F
' Y( T2 u/ R) V ^; B+ ~( \-keepclasseswithmembernames class * {
( W/ A* \3 S" Z0 n4 B) C2 {) } public <init>(android.content.Context, android.util.AttributeSet);
3 s/ K |8 ^* |. J}
5 @ C/ V: F7 m1 N L
, X! y5 d0 t% U" n$ S# q+ S-keepclasseswithmembernames class * {
% S9 u1 @; \; F1 k" m0 Y public <init>(android.content.Context, android.util.AttributeSet, int);
4 W# \. `9 E. O8 `* F! s$ W+ T}/ F7 _1 A9 L# t
' v. b) [4 w) A7 R! b) l( X( X-keepclassmembers enum * {
- M' S( }8 N$ x( E$ g. k public static **[] values();) m: q f" N$ t6 h" r/ e, l+ G3 g
public static ** valueOf(java.lang.String);
( {; R8 H+ Q% ~4 Z" `! H}2 b1 Q& h$ }, Q
7 e$ t; G5 f4 x8 I
-keep class * implements android.os.Parcelable {: d+ C$ L3 c: ]
public static final android.os.Parcelable$Creator *;) b% [- N' I# D
}
. J8 b) G6 M _1 K. O, k! I+ s7 C8 X" a% T7 Y; d
P& ~/ v) ]- a! `( G. M* V/ B. F7 G$ S" a! g- W
方法二
& o6 ^- n5 k( W8 |, m+ u6 X通过Android SDK and AVD Manager更新所有SDK。 |
|