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

我有一个Android应用程序(我们称为X),我想创build第二个应用程序X2,但基于其他应用程序。 所以我更改清单应用程序名称属性为X2也更改了包名称…但仍然当我安装X2,应用程序X被删除!

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company.app1" android:versionCode="1" android:versionName="1.0" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name1" android:theme="@style/AppTheme" > 

改变之后。

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company.app2" android:versionCode="1" android:versionName="1.0" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name2" android:theme="@style/AppTheme" > 

  • 如何将我的Activity设置为android中的主要活动?
  • Android Studio - Gradle Manifest合并失败
  • Android:将参数从AndroidManifest.xml传递到Activity
  • AndroidManifest.xml标签中是否可以有自定义属性?
  • Android - Google Play过滤出xxhdpi
  • 如何处理Xamarin中的“$ {applicationid}”?
  • 在Android M上,如何配置“直接共享”function(图像,文本)以及如何查询项目?
  • 一旦使用repo / git下载,就可以有效地改变android版本库的版本
  • 也可以在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

    我需要这样的工具,因为客户希望能够在同一时间使用testing版和发布版本的应用程序。 我正在改变apk的主要命名空间来实现这个使用apktool。

    我遵循这些步骤:

    • 反编译apk使用apktool java -jar apktool.jar d -o out -f my-app.apk
    • 将out目录中的所有文件中的com.mainnamespacereplace为com.mainnamespacebeta
    • com / mainnamespacereplace为out目录中所有文件中的com / mainnamespacebeta
    • 将目录/ smali / com / mainnamespace重命名为/ 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创build了简单的脚本 – https://gist.github.com/vavrecan/8596303