2014-05-02 61 views
0

我有一个现有的Android应用程序。
我想从现有的应用程序中提取另一个应用程序,以便它只包含原始“活动”的某个子集。
Android应用程序与活动子集

那最好的方法是什么?

两个应用程序将积极维护simultaneoulsy,所以这将是最佳的方式,以便有少开销可能吗?
我的开发环境是Android Studio + gradle ...我应该只是创建另一个变体?..从那时起,我应该只定义源文件夹吗?我可以只更改AndroidManifest并使用原始活动的一部分吗?
感谢

回答

0

我遵循的办法,最终是要建立一个新的变种这样的:

flavorGroups "features" 
productFlavors { 
     normal { 
      flavorGroup "features" 
     } 

     stripped { 
      packageName "other.package" 
      flavorGroup "features" 
     } 
} 

而我只是从每个变种发送diffent意图改变了活动的转变(我创建单独的源每个变体的文件夹,例如

src/main,src/stripped,src/normal等

我相信这是最快的方法,并且具有能够在常规活动中定制小部件的优势,而不是具有提取的库项目并且具有仅用于小定制的相同活动的两个副本。

1

也许你能做的最好的是公用部分(在这种情况下,活动)您的应用程序提取到一个库项目,然后,如果你需要特定的行为在您的具体应用,从刚刚继承常见的课程,以满足您的需求。

http://developer.android.com/tools/projects/index.html

+0

谢谢Mattia的回答,但我相信可能会比将所有常见活动转移到图书馆项目更有效率。 –

+0

如果您需要在项目之间共享代码,我认为这是您唯一可以做的事情。另外,因为您使用的是AS + Gradle,所以您可以通过Maven编译依赖关系(http://www.gradleware.com/resources/tech/android) –