例如,这个规则对于proguard意味着什么:
-keep class myjava.** {*;}
Run Code Online (Sandbox Code Playgroud)
我理解{*;}部分意味着课堂上的所有成员和方法.但是2星号在包名中意味着什么?
提前致谢.
我正在做两个项目; 一个更小(我会称之为ProjectA),而另一个则相当大(ProjectB).两个项目都使用相同的库,即IMG.LY的Photo Editor SDK.对于这两个项目,我遵循了库的文档中的简单集成步骤.
ProjectA使用自定义Activity来显示和选择图像,而ProjectB只是使用简单的ACTION_PICK意图来选择图像.两个项目都有类似的方法来PhotoEditorActivity选择图像后启动; 除了ProjectA接受File参数的方法,而另一个接受一个Uri:
private void dispatchEditorIntent(File file /* Uri uri */) {
new PhotoEditorIntent(getActivity())
.setExportDir(PhotoEditorIntent.Directory.PICTURES, getString(R.string.app_name))
.setExportPrefix(Constants.PREFIX_EDITOR)
.setSourceImagePath(file.getAbsolutePath()) // uri.getPath() for ProjectB
.destroySourceAfterSave(false)
.startActivityForResult(REQUEST_EDITOR);
}
Run Code Online (Sandbox Code Playgroud)
如果我在任一项目中选择相同的图像,file.getAbsolutePath()或者uri.getPath()方法将返回相同的图像String; 例如:
/storage/emulated/0/Pictures/IMG_20160929_145318_395198580.jpeg
ProjectA工作正常,但在ProjectB当dispatchEditorIntent被调用时,我遇到了一个巨大的错误消息.为简洁起见,我只包括每个错误和警报日志的前10行:
09-29 14:53:26.585 4272-4272/com.example.projectb E/art: Failed to register native method android.support.v8.renderscript.RenderScript.nDeviceDestroy(J)V …Run Code Online (Sandbox Code Playgroud)