如何安装应用程序两次而不干扰Android?

我有一个Android应用程序(让我们称为X),我想创建第二个应用程序X2,但基于另一个应用程序。 所以我将清单应用程序名称属性更改为X2也改变了包名…但是当我安装X2时,应用程序X被删除了!

我应该更改哪些属性,以便我可以在一台设备上独立安装这两个应用程序。 我正在研究eclispe。

  

改变之后。

   

还可以在gradle脚本build.gradle模块中更改包名称

 defaultConfig { applicationId "com.me.mesurvey" //put your package name here// minSdkVersion 14 targetSdkVersion 19 } 

那么它在其他设备上使用了更新的平台! 无论如何,正确的响应是你只需要更改应用程序的名称和包。

编辑1:现在,如果您使用的是Android Studio,请使用applicationIdSuffix为每种风格创建一个应用程序。

 debug { applicationIdSuffix ".debug" } 

在这里阅读更多developer.android.com

我需要这样的工具,因为客户希望能够在同一时间使用应用程序的测试版和发布版。 我正在更改APK的主要命名空间,以使用apktool实现此目的。

我按照以下步骤操作:

  • 使用apktool java -jar apktool.jar d -o out -f my-app.apk反编译apk
  • com.mainnamespace替换为out目录中所有文件中的com.mainnamespacebeta
  • com / mainnamespace替换为out目录中所有文件中的com / mainnamespacebeta
  • 将目录out / smali / com / mainnamespace重命名为out / smali / com / mainnamespacebeta
  • 再次编译apk java -jar apktool.jar b -o ./debug.apk -f ./out
  • 使用jarsigner用新密钥签署apk。 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore ./debug.apk“password”-storepass“password”-keypass“password”

以下是如何签署apk获取key.keystore的手册 – http://developer.android.com/tools/publishing/app-signing.html

我还为linux创建了简单的脚本 – https://gist.github.com/vavrecan/8596303

步骤1:选择(单击)您的应用程序主程序包,然后单击Shift + f6并更改程序包名称

第2步:转到build.gradle并将applicationId更改为新的包名,如下所示defaultConfig {

  applicationId "com.sample.main"//give your new package name minSdkVersion 15 targetSdkVersion 25 } 

第3步:清理项目

第4步:运行项目,看看它是否可行

快乐编码…..