2016-08-26 26 views
0
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

已經添加您是通過反射訪問一個公共的靜態字段的ProGuard後取出,所以你需要指導的ProGuard留着,

-keep class StringLensFlare { 
    static java.lang.String O_*; 
} 

其他規則,你提到的是這種情況幾乎無用的和完全無關。