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();