package com.hope.carwallpapers.extra;
import java.lang.reflect.Field;
/**
* Created by croma on 21-08-2016.
*/
public class StringLensFlare {
public final static String O_1 = "{\"I\":\"p(1)\",\"ow\":768,\"oh\":491,\"data\":[{\"image\":\"two\",\"fw\":389,\"fh\":235,\"fx\":162,\"fy\":187},{\"image\":\"one\",\"fw\":389,\"fh\":235,\"fx\":461,\"fy\":187}]}";
public final static String O_2 = "{\"I\":\"p(2)\",\"ow\":768,\"oh\":512,\"data\":[{\"image\":\"two\",\"fw\":757,\"fh\":450,\"fx\":11,\"fy\":0},{\"image\":\"two\",\"fw\":381,\"fh\":227,\"fx\":0,\"fy\":99}]}";
public static String getDeclare(int i) {
try {
StringLensFlare stringLensFlare = new StringLensFlare();
Field f = stringLensFlare.getClass().getDeclaredField("O_" + i);
f.setAccessible(true);
return f.get(stringLensFlare).toString();
} catch (Exception e) {
}
return "";
}
};;
这是我已经添加到
中的proguard之后的公共静态文件删除proguard.txt file as-keepclasseswithmembernames class * {
native <methods>;
}
答案 0 :(得分:0)
您正在通过反射访问公共静态字段,因此您必须指示ProGuard保留它:
-keep class StringLensFlare {
static java.lang.String O_*;
}
你提到的另一条规则对于这种情况几乎没用,而且完全没有关系。