IDEA-72053 place gdbserver into apk in debug model

This commit is contained in:
Eugene Kudelevsky
2011-07-13 16:05:58 +04:00
parent 5b1230ec46
commit 965a62a3c4
2 changed files with 9 additions and 7 deletions
@@ -411,7 +411,7 @@ public class AndroidPackagingCompiler implements PackagingCompiler {
ArrayList<VirtualFile> nativeLibs = new ArrayList<VirtualFile>();
for (VirtualFile nativeLibFolder : nativeLibFolders) {
for (VirtualFile child : nativeLibFolder.getChildren()) {
AndroidApkBuilder.collectNativeLibraries(child, nativeLibs);
AndroidApkBuilder.collectNativeLibraries(child, nativeLibs, !releaseBuild);
}
}
for (VirtualFile nativeLib : nativeLibs) {
@@ -236,7 +236,7 @@ public class AndroidApkBuilder {
}
for (VirtualFile nativeLibsFolder : nativeLibsFolders) {
for (VirtualFile child : nativeLibsFolder.getChildren()) {
writeNativeLibraries(builder, nativeLibsFolder, child);
writeNativeLibraries(builder, nativeLibsFolder, child, signed);
}
}
builder.close();
@@ -297,9 +297,10 @@ public class AndroidApkBuilder {
});
}
private static void writeNativeLibraries(SignedJarBuilder builder, VirtualFile nativeLibsFolder, VirtualFile child) throws IOException {
private static void writeNativeLibraries(SignedJarBuilder builder, VirtualFile nativeLibsFolder, VirtualFile child, boolean debugBuild)
throws IOException {
ArrayList<VirtualFile> list = new ArrayList<VirtualFile>();
collectNativeLibraries(child, list);
collectNativeLibraries(child, list, debugBuild);
for (VirtualFile file : list) {
String relativePath = VfsUtil.getRelativePath(file, nativeLibsFolder, File.separatorChar);
String path = FileUtil.toSystemIndependentName(SdkConstants.FD_APK_NATIVE_LIBS + File.separator + relativePath);
@@ -314,16 +315,17 @@ public class AndroidApkBuilder {
return result;
}
public static void collectNativeLibraries(@NotNull VirtualFile file, @NotNull List<VirtualFile> result) {
public static void collectNativeLibraries(@NotNull VirtualFile file, @NotNull List<VirtualFile> result, boolean debugBuild) {
if (!file.isDirectory()) {
String ext = file.getExtension();
if (AndroidUtils.EXT_NATIVE_LIB.equalsIgnoreCase(ext)) {
if (AndroidUtils.EXT_NATIVE_LIB.equalsIgnoreCase(ext) ||
(debugBuild && SdkConstants.FN_GDBSERVER.equals(file.getName()))) {
result.add(file);
}
}
else if (JavaResourceFilter.checkFolderForPackaging(file.getName())) {
for (VirtualFile child : file.getChildren()) {
collectNativeLibraries(child, result);
collectNativeLibraries(child, result, debugBuild);
}
}
}