在android studio项目

时间:2016-01-29 15:45:43

标签: android android-studio gradle push-notification

我正在写这篇文章是为了帮助其他用户在android studio中的android项目中集成 Notificare 通知服务时遇到的问题。因为我必须整合 Notificare,Segment.io,Branch.io,Google放置自动完成功能,在应用内购买,我面临的主要问题是多个库的冲突和重复输入错误。正如 Notificare 一样,它自己拥有不适用的图书馆代码,谷歌分析,播放服务和自己的通知代码。我尝试了以gradle文件方式在notificare android studio integration编译命令中提供的集成库的传统方法,但是这不起作用,因为我曾经为库中已经存在的inappbilling代码获取重复条目。 / p>

所以这是程序。

notificare sdk source with sample下载sdk文件夹 然后将文件夹从sdk重命名为notificare,然后在notificare文件夹中创建一个gradle文件,因为它没有gradle文件,如下所示:

在notificare项目中手动创建build.gradle文件。并在其中复制以下代码:

apply plugin: 'com.android.library'

dependencies {
    compile 'com.android.support:support-v4:21.0.3'
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 21
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
}

上面的代码来自this链接。

然后在libs文件夹中将 notificare-push-lib.jar 文件重命名为extn .zip解压缩zip,这样我们就可以删除与其他库冲突的内容。然后在 com 文件夹中删除 android 文件夹,该文件夹中包含 vendor-billing 文件夹,该文件夹会与您的应用内购买实施内容发生冲突。 删除文件夹后,选择文件夹的内容,如com,META-INF,然后重新选择所有3个文件夹并将其压缩为zip。

此步骤对于mac用户非常重要:

当您创建zip文件时,mac会自动创建需要删除的 __ MACOSX 文件夹,可以使用终端中的以下命令来完成:

zip -d notificare.zip __MACOSX/\*

这将删除zip中的__MACOSX文件夹。 现在使用以下命令将zip文件重命名为jar文件:

mv notificare.zip notificare.jar

复制此文件并将其替换为项目notificare libs文件夹

然后在您的主项目 app / build.gradle 文件中添加以下命令:

compile project(":notificare")
compile 'com.google.android.gms:play-services:8.4.0'

并在主项目 settings.gradle 文件中添加以下内容:

include ':app', ':notificare'
project(':notificare').projectDir = new File('notificare')

清理项目。 同步gradle。 构建它应该运行的项目,并且通知应该注册你的设备。

0 个答案:

没有答案