我是app新手。在Windows Vista Home Premium上使用Android Studio 0.4.6
我已经成功创建了一个非常简单的webview应用程序。我想使用相同的应用程序作为模板为不同的客户创建一个独特的应用程序。对于每个客户,我已成功使用折射器来更改项目名称和模块名称,以将每个客户端反映为每个客户端的不同项目。
尽管有所更改,但安装了应用的设备会将所有单独的应用视为同一个应用。我无法安装为一个客户端创建的应用程序而不删除或覆盖另一个客户端。
尊敬,
tseroogy
答案 0 :(得分:0)
看看如何重新设计应用程序以便所有关键功能都在一个库中,并且所有自定义功能都在引用该库的应用程序项目中,这当然是有意义的。这样,添加到库中的任何新功能也将包含在每个变体中。
我怀疑您无法同时安装所有应用,因为它们使用相同的密钥进行签名。如果您还没有,请为每个版本创建一个新密钥,并使用不同的密钥对每个版本进行签名。
使用maven http://maven.apache.org/guides/mini/guide-creating-archetypes.html创建IDE的自定义模板是可能的,虽然我不知道这是否适用于Android Studio,但我仍然使用Eclipse。
答案 1 :(得分:0)
您需要为您的应用指定不同的包名称;这就是Android如何区分不同的应用程序。它位于 AndroidManifest.xml 文件(com.example.myapp
位)中:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0">
将项目制作成模板没有特别简单的方法。您可以做的最好的事情是创建您的准系统项目并复制整个目录并进行更改以使其个性化。
如果您正在构建的许多APK几乎都是彼此的副本,那么您可以使用构建版本来构建它们全部来自一个源树,但如果您是Android Studio和Gradle的新手和Android开发一般,在这一点上你可能会有点多。如果你不害怕跳进游泳池的深处,你可以在http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors阅读,以了解所涉及的内容。话虽如此,我建议您在短期内使用复制粘贴方法,同时了解其他所有内容。