Closed a1onexiang2 closed 6 years ago
get it,我在gradle-4.1-all.zip上测测,你们的build tools gradle是多少版本的?
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta3'
}
}
感谢
定旭,这个问题好了么?
今天更新gradle 3.0.0 我也出现了
@a1onexiang2 @yuechengzhishang @wangjunhe 0.4.71版本已经解决上述问题,请更新版本,感谢反馈
@hedex 已更新最新版本,可以编译 release 版本了。 但在加载补丁时抛出
java.lang.ClassNotFoundException: Didn't find class "com.test.robust.PatchesInfoImpl" on path: DexPathList[[],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]] at class:PatchExecutor method:patch line:108
排查许久没有找到头绪。
ensurePatchExist
已经进行文件检查,路径是没问题的。用 jadx-gui
检查生成的补丁文件 patch.jar
,也存在所述的类。补丁一直加载不成功,请问是什么原因。
DexPathList[[] 这里是空的 可以看看你的补丁加载代码吗?
public class PatchManipulateImp extends PatchManipulate {
private final String path;
private final static String PATCH_SUFFIX = ".jar";
public PatchManipulateImp(String path) {
if (path.endsWith(PATCH_SUFFIX)) {
this.path = path.substring(0, path.length() - PATCH_SUFFIX.length());
} else {
this.path = path;
}
}
@Override
protected List<Patch> fetchPatchList(Context context) {
Patch patch = new Patch();
patch.setName("patch_" + BuildConfig.VERSION_CODE);
patch.setLocalPath(path);
patch.setPatchesInfoImplClassFullName("com.test.robust.PatchesInfoImpl");
List<Patch> patches = new ArrayList<>();
patches.add(patch);
return patches;
}
@Override
protected boolean verifyPatch(Context context, Patch patch) {
return true;
}
@Override
protected boolean ensurePatchExist(Patch patch) {
return new File(patch.getLocalPath()).exists();
}
}
patch.setLocalPath(path); 这里的path路径是正确的吗? 可以把补丁发给我看看吗?
打release的问题已经解决,暂时关闭issue了,有需要可以重新打开哈~
gradle:3.1.0 & gradle-4.4-all.zip 报同样的错误,降低至gradle:3.0.0 & gradle-4.1-all.zip环境,编译成功。
build:gradle:3.1.1 & gradle-4.4-all.zip 👍
Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'resourceFile' for task ':app:packageYzjProductRelease' of type com.android.build.gradle.tasks.PackageApplication.
但是在demo升级这个gradle竟然可以..
gradle: 3.2.1 & gradle-4.6-all.zip报同样的错误,关闭插件后没有问题了
gradle: 3.2.1 & gradle-4.6-all.zip报同样的错误,关闭插件后没有问题了
解决没?
在
gradle:3.0.0-beta3
&gradle-4.1-all.zip
环境,同样的配置下,调用apply plugin: 'robust'
编译混淆后的 release 版本时出现错误,混淆文件怎么修改都没有效果,不启用插件时编译没问题。 同样环境下,编译 debug 版可以成功,故初步推测是混淆导致的问题,但不知如何解决,这是兼容性的问题吗,之前在gradle:2.3.3
&gradle-3.5-all.zip
环境还是可以编译 release 版本的。 release 设置中开启了minifyEnabled
和shrinkResources
选项。 stacktrace 错误信息如下: