Access restriction: The type * is not accessible due to restrict,报错问题,只试过第二种,OK。

有四种解决方法,大家根据自己的情况自己选择:

情景:我遇到了两次这样的情况,一次使用MD5加密导入包的时候和使用sun.security.pkcs包下面的加密证书的时候,发现导入不了,提示已经非常清楚“Access restriction: The type * is not accessible due to restrict”,仔细分析和查阅资料:J为了安全,DK的很多部分API是不可见不可用的,对于一般程序员都是隐藏的,那么要在开发工具中使用,你就必须做一些操作,让APK可用。

解决方案1: 



Eclipse 默认把这些受访问限制的API设成了ERROR。 
Windows -> Preferences -> Java -> Compiler -> Errors/Warnings -> 
Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning 


解决方案2: 
只需要在project build path中先移除JRE System Library,再添加库JRE System Library,重新编译后就一切正常了。 


解决方案3: 


工程上右键->工程属性->java builder path->Libraries标签,点击JRE System Library里面的Access rules,add sun/** 为accessible,如果该项存在,就edit。 


解决方案4: 


Windows -> Preferences -> Java -> Installed JREs -> 选择用的JDK -> Edit -> Add External JARs 

你可能感兴趣的:(Access,Restriction)