使用android项目作为另一个android项目的库

时间:2016-03-29 05:40:50

标签: android

1)我想将android项目作为库用于另一个项目。我从库项目中创建了.aar文件。并提取它以获取classes.jar文件。

2)我在libs文件夹中使用jar文件并在build.gradle文件中编译它。

3)

// call to library project activity class     
<activity
    android:name="com.magento.MainActivity"></activity>

4)我喜欢调用这些mainactivity.it使app.due崩溃,使其无法在表现文件中注册活动

5)因为我发现在属性文件中使用mainfeast合并。但是在android studio中找不到那个。

任何人都可以帮忙吗?

在这里我遇到了新的问题,对此有所帮助

Attribute application@theme value=(@style/AppTheme.NoActionBar) from AndroidManifest.xml:29:9-52
    is also present at [com.elitesalonapp.aar:emc:] AndroidManifest.xml:48:9-57 value=(@android:style/Theme.Translucent).
    Suggestion: add 'tools:replace="android:theme"' to <application> element at AndroidManifest.xml:22:5-159:19 to override.

    Attribute meta-data#com.facebook.sdk.ApplicationId@value value=(@string/facebook_app_id) from AndroidManifest.xml:33:13-52
    is also present at [com.elitesalonapp.aar:emc:] AndroidManifest.xml:60:13-43 value=(@string/app_id).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:31:9-33:55 to override.
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
:app:processDebugManifest FAILED
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs

3 个答案:

答案 0 :(得分:0)

AAR是Android库项目的正确依赖项工件。它包含应导入应用程序的清单条目,资源,资产和代码。

当您将罐子拉出aar时,您还删除了Android构建工具提取可能已包含在aar中的任何清单条目,资源和资产的功能。您应该依赖于aar而不是提取jar,并让Android工具将所有内容合并到应用程序中。 You can read about aar here.

答案 1 :(得分:0)

修改 档案 - &gt;新模块 - &gt;导入.JAR / .AAR并导入.AAR。

int indexOfUnderscore = files.indexOf("_"); String first = files.substr(0, indexOfUnderscore); // should be equal to "abc"

中添加以下内容
build.gradle

答案 2 :(得分:0)

在build.gradle

中添加
dependencies {
    compile(name:'<your lib name>',ext:'aar')
}
repositories{
flatDir{
    //add the dir where your .arr lib in
    dirs '<folder name>'
}

look the sample here