Articles of 模块

Android应用程序中的模块间(库项目)通信

在下面的图中,我有3个模块(作为Android库),它扩展了基本的“通用组件模块”,所有这3个模块将被添加到一个单一的Android应用程序。 所有3个模块都是独立的模块,但是作为一个应用程序来说,需要共享一些数据,启动其他模块,需要更多的相互通信。 那么谁能让我知道我们如何在这种架构中实现“数据共享层”和“导航控制器”? 例如:Module1-> Login,Module2-> Profile Management等,根据应用需要可以有n个模块。

使用Android Studio重build,同步Gradle和Clean仅一个模块

我在Android Studio中有一个由五个模块build立的复杂项目。 其中四个作为独立的应用程序,但其中一个是其余的基本代码。 这样,我就可以为每个应用程序分配一个大的通用核心代码和四个分离代码(这些应用程序共享羞耻模型数据和api连接)。 我的问题是,是否可以重build,清理或同步只是一个模块,而不是整个Android Studio项目。 谢谢!

Android Studio:“新build模块 – >导入现有项目”与“导入模块”

我拥有的: 四个独立工作的Android模块: MyProjectMainModule ,一个主容器应用程序,附加到MyProject MyGradleModule是一个库,包含在gradlew进程中构build的所有必要组件。 MyPreGradleModule ,一个库,带有src/ , res/ /,AndroidManifest.xml和pom.xml ,没有gradle wrapper MyRawModule ,一个库,带有src/ , res/ MyRawModule ,没有pom.xml (在基于Ant的Eclipse项目中常见) 我想实现的是: 将所有三个模块(即MyGradleModule , MyPreGradleModule , MyRawModule )作为MyProject依赖项导入MyProject 。 完整的项目结构应该类似于项目结构: MyProject |–MyProjectMainModule |–MyGradleModule |–MyPreGradleModule |–MyRawModule 题: 实现所有三个模块( MyGradleModule , MyPreGradleModule和MyRawModule )具有不同的结构,以最小的努力导入每个模块的最佳方法是什么? 您可以在您的答案(如果您使用任何)请匹配以下Android Studio菜单项之一与每个模块: File – > Import Module… File – > New Module… – > Import Existing […]

使用Gradle在多个Android应用程序之间共享Android库

我有Android应用程序A和B.我想从每个提取重复代码到共享库L.我怎样才能使用Gradle做到这一点? 我曾经见过这个问题的一些排列,但是答案却很less。 最接近/最好的问题是这样的: 多个Android应用程序依赖于Android库与Gradle 第一个答案build议包含应用程序和库模块的父项目。 这种耦合是不受欢迎的,部分原因是A,B和L在他们自己的Git仓库中,也是因为它会涉及父项目和构build文件,这些文件难以放在源代码控制中(或者涉及手动复制其他项目)。 由于Android Studio在默认情况下喜欢单模块项目的父级构build,所以应该是一个简单的家族。 这真的好像是一个不相干的项目之间的不必要的耦合。 第二个答案涉及将AAR发布到回购库,并在每个项目中引用远程库。 如果我们有一个本地的Nexus存储库,那么我可以很好地使用这种方法,但似乎没有一个简单的方法来做到这一点,没有手动版本/命名和上传文件(这是不可持续的)。 我试图使用Sonatype gradle-release插件,但似乎是JAR(不是AAR)。 它看起来像是很多移动部件,相当于Android应用程序之间最基本的代码共享forms。 有没有人有更好的解决scheme?

为JellyRefreshLayout模块导入新的Android模块失败

我正在导入JellyRefreshLayout作为模块(对于一些更新) 检查这个链接: https : //github.com/allan1st/JellyRefreshLayout 但我总是得到这个gradle生成错误: 信息:Gradle任务[:app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources, :jellyrefresh:generateDebugSources, :jellyrefresh:mockableAndroidJar, :jellyrefresh:prepareDebugUnitTestDependencies, :jellyrefresh:generateDebugAndroidTestSources] extractDebugAnnotations is incompatible with java 8 sources and has been disabled. extractReleaseAnnotations is incompatible with java 8 sources and has been disabled. :jellyrefresh:incrementalReleaseJavaCompilationSafeguard UP-TO-DATE :jellyrefresh:compileReleaseJavaWithJavac UP-TO-DATE :jellyrefresh:compileRetrolambdaRelease FAILED Error:Execution failed for task ':jellyrefresh:compileRetrolambdaRelease'. > Could not resolve all dependencies for configuration […]

项目已经包含这个名称的模块 – Android Studio

我已经成功地在Android Studio我的应用程序项目中导入了一个Module 。 然后,我通过以下链接删除或删除模块: 如何删除Android Studio中的模块 我也从我的build.gradle(app)文件的dependencies中删除了项目模块。 现在,当我需要再次在我的Andorid应用程序中包含相同的模块项目时,它不允许我,并且给Project already contains module with the same name错误的Project already contains module with the same name 。 我已经检查了我的Project, Package, Android结构,但我需要导入和添加为模块项目的项目模块不存在,但仍然说它已经存在。 任何人都可以帮助我解决这个问题。

在titanium,是有可能从Android模块访问第三方jar捆绑资源文件(XML)?

我一直在研究如何从android模块访问第三方jar捆绑的资源文件(xml文件,图片, 这里引用)。 是否有可能做到这一点? 因为这些资源文件是由编译的第三方jar文件调用的,所以我不能在本机java代码中使用TiRHelper.getApplicationResource方法,除非我: 将jar文件反编译成java代码。 将所有原生资源引用replace为TiRHelper.getApplicationResource 将第三方java源代码重新编译为jar文件。 (这个第三方项目是https://github.com/ShareSDKPlatform/ShareSDK-for-Android/tree/master/Sample ,我可以很容易地编译和运行它,你可以看到/ res文件夹中有资源文件,的jar文件使用了这些资源文件。) 我search了一整天,但没有find答案。 我从官方文件中得到了一些线索,但是没有成功。 该错误表明该资源不是来自titanium模块的Java代码的访问。 同样,这个问题也没有答案( http://developer.appcelerator.com/question/178857/unable-to-load-resources-from-3rd-party-librarys-resourced-in-android-module )。 这个答案( http://developer.appcelerator.com/question/49671/android-r-references-in-appcelerator-module#answer-266726 )给了我一个线索,方法: getResource() gives an Error getAndroidResource() gives an Error but getApplicationResource() DOES work 并有一个线索,“apklib”可能是有用的,但在阅读了一些post后,我发现它已被删除从Maven的官方网站。 现在Googlebuild议使用'aar'文件。 但根据这个titanium官方问题( https://jira.appcelerator.org/browse/TIMOB-18565 ),titanium还没有支持。 所以,我想知道,是否有可能让Java代码(例如一个活动)从Titanium模块访问其第三方jar捆绑的资源文件(值/ string.xml左右)? 如果有的话,是否有我可以参考的示例代码? 非常感谢!

Android Studio库项目错误

我已经将一个模块导入到我的项目中。 当我重build项目,AS给了我一个错误说:警告:依赖项库:未指定的项目应用程序parsing为一个APK归档不支持作为编译依赖项。 我search并更改了apply plugin : 'com.android.application'来apply plugin: 'com.android.library'并从defaultConfig中删除了ApplicationId。 然而,我得到这个相同的错误"Warning:Dependency Lib:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency." 谁能帮我? 这是我的gradle代码: apply plugin: 'com.android.library' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { minSdkVersion 12 targetSdkVersion 23 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } […]

Proguard忽略库的configuration文件

我现在面对一个非常奇怪的问题,现在… 我有一个Gradle应用程序,包含两个模块,一个主模块和一个库模块。 在这两个模块中,我已经声明了一个proguard-rules.pro文件的path是正确的 在两个.gradle文件中我有minifyEnabled true 这里是第一个问题:即使库中的minifyEnabled为false,也会被混淆。 它根本没有任何作用,似乎取决于主模块的设置。 我从一段时间开始使用proguard,从来没有经历过这样的行为。 此外,图书馆的proguard-rules.pro似乎完全被忽略。 我在那里声明什么并不重要,它没有被使用,结果总是一样的(总是反编译查看结果)。 它使用默认设置进行混淆。 我用一个无效的proguard文件名来查看文件是否被触摸,确实有错误的名称错误,它也抱怨proguard文件中的语法错误… 我不知道它是否与Android Studio更新有关,因为它也build议我使用“minifyEnabled”而不是“runProguard”。 我该如何pipe理proguard以使用图书馆的proguard-rules.pro? 编辑: 我已经做了一个示例项目来澄清我的问题 我的库的proguardconfiguration 我的图书馆的gradle: 最后我总是得到结果 。 不要紧,我排除/包括在proguardconfiguration 正如你所看到的,proguard规则在主模块上工作得很好。 它做它应该做的。 但它总是模糊我的图书馆… … – 它也完全删除了图书馆的活动,这根本不应该发生

Android Studio没有在项目结构中显示模块

我正在使用Android工作室,我想添加模块到我的项目,如“操作栏Sherlock”或jar文件,但是当我打开项目结构时,菜单中没有模块或库: 在intelij它出现: 所以有什么问题? 我怎样才能在Android Studio中添加这些模块?