diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidPackagingCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidPackagingCompiler.java
index 5bab4787de39..d4210883e469 100644
--- a/plugins/android/src/org/jetbrains/android/compiler/AndroidPackagingCompiler.java
+++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidPackagingCompiler.java
@@ -137,7 +137,7 @@ public class AndroidPackagingCompiler implements PackagingCompiler {
final String keystorePath = FileUtil.toSystemDependentName(VfsUtil.urlToPath(configuration.CUSTOM_DEBUG_KEYSTORE_PATH));
items.add(
createItem(module, facet, manifestFile, sourceRoots, externalJars, resPackagePath, classesDexPath, sdkPath, outputPath,
- false, AndroidCompileUtil.isReleaseBuild(context), keystorePath));
+ configuration.GENERATE_UNSIGNED_APK, AndroidCompileUtil.isReleaseBuild(context), keystorePath));
}
}
}
@@ -271,6 +271,10 @@ public class AndroidPackagingCompiler implements PackagingCompiler {
return true;
}
+ if (facet.getConfiguration().GENERATE_UNSIGNED_APK) {
+ return true;
+ }
+
return false;
}
diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidResourcesPackagingCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidResourcesPackagingCompiler.java
index d59b30f96a98..fbbbda9760f9 100644
--- a/plugins/android/src/org/jetbrains/android/compiler/AndroidResourcesPackagingCompiler.java
+++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidResourcesPackagingCompiler.java
@@ -88,7 +88,7 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom
}
items.add(new MyItem(module, target, platformToolsRevision, manifestFile, resourcesDirPaths, assetDirPaths, outputPath,
- false, AndroidCompileUtil.isReleaseBuild(context)));
+ configuration.GENERATE_UNSIGNED_APK, AndroidCompileUtil.isReleaseBuild(context)));
//items.add(new MyItem(module, target, manifestFile, resourcesDirPaths, assetsDirPath, outputPath + RELEASE_SUFFIX, true));
}
}
diff --git a/plugins/android/src/org/jetbrains/android/facet/AndroidFacetConfiguration.java b/plugins/android/src/org/jetbrains/android/facet/AndroidFacetConfiguration.java
index 523d0557241c..7b60d7599404 100644
--- a/plugins/android/src/org/jetbrains/android/facet/AndroidFacetConfiguration.java
+++ b/plugins/android/src/org/jetbrains/android/facet/AndroidFacetConfiguration.java
@@ -77,6 +77,8 @@ public class AndroidFacetConfiguration implements FacetConfiguration {
public boolean RUN_PROCESS_RESOURCES_MAVEN_TASK = true;
+ public boolean GENERATE_UNSIGNED_APK = false;
+
public String CUSTOM_DEBUG_KEYSTORE_PATH = "";
public boolean PACK_TEST_CODE = false;
diff --git a/plugins/android/src/org/jetbrains/android/facet/AndroidFacetEditorTab.form b/plugins/android/src/org/jetbrains/android/facet/AndroidFacetEditorTab.form
index 425d1c77cc6d..22e727f50445 100644
--- a/plugins/android/src/org/jetbrains/android/facet/AndroidFacetEditorTab.form
+++ b/plugins/android/src/org/jetbrains/android/facet/AndroidFacetEditorTab.form
@@ -123,7 +123,7 @@
-
+
@@ -156,6 +156,14 @@
+
+
+
+
+
+
+
+
diff --git a/plugins/android/src/org/jetbrains/android/facet/AndroidFacetEditorTab.java b/plugins/android/src/org/jetbrains/android/facet/AndroidFacetEditorTab.java
index 77026af63ce0..595dddf6e15c 100644
--- a/plugins/android/src/org/jetbrains/android/facet/AndroidFacetEditorTab.java
+++ b/plugins/android/src/org/jetbrains/android/facet/AndroidFacetEditorTab.java
@@ -80,6 +80,7 @@ public class AndroidFacetEditorTab extends FacetEditorTab {
private JCheckBox myGenerateIdlWhenChanged;
private JCheckBox myIsLibraryProjectCheckbox;
private JPanel myAaptCompilerPanel;
+ private JCheckBox myGenerateUnsignedApk;
private ComboboxWithBrowseButton myApkPathCombo;
private JLabel myApkPathLabel;
private JRadioButton myRunProcessResourcesRadio;
@@ -310,6 +311,9 @@ public class AndroidFacetEditorTab extends FacetEditorTab {
if (myRunProcessResourcesRadio.isSelected() != myConfiguration.RUN_PROCESS_RESOURCES_MAVEN_TASK) {
return true;
}
+ if (myGenerateUnsignedApk.isSelected() != myConfiguration.GENERATE_UNSIGNED_APK) {
+ return true;
+ }
if (!myConfiguration.CUSTOM_DEBUG_KEYSTORE_PATH.equals(getSelectedCustomKeystorePath())) {
return true;
}
@@ -436,6 +440,8 @@ public class AndroidFacetEditorTab extends FacetEditorTab {
myConfiguration.LIBRARY_PROJECT = myIsLibraryProjectCheckbox.isSelected();
myConfiguration.RUN_PROCESS_RESOURCES_MAVEN_TASK = myRunProcessResourcesRadio.isSelected();
+
+ myConfiguration.GENERATE_UNSIGNED_APK = myGenerateUnsignedApk.isSelected();
myConfiguration.PACK_TEST_CODE = myIncludeTestCodeAndCheckBox.isSelected();
@@ -579,6 +585,7 @@ public class AndroidFacetEditorTab extends FacetEditorTab {
myCompileResourcesByIdeRadio.setVisible(mavenizedModule);
myCompileResourcesByIdeRadio.setSelected(!myConfiguration.RUN_PROCESS_RESOURCES_MAVEN_TASK);
+ myGenerateUnsignedApk.setSelected(myConfiguration.GENERATE_UNSIGNED_APK);
myIncludeTestCodeAndCheckBox.setSelected(myConfiguration.PACK_TEST_CODE);
updateAptPanel();