相关疑难解决方法(0)

是否可以在Gradle中声明一个可用于Java的变量?

是否可以在Gradle中声明一个可用于Java的变量?基本上我想在build.gradle中声明一些变量,然后在构建时获取它(显然).就像C/C++中的预处理器宏一样......

宣言的一个例子就是那样......:

android {
    debug {
        A_VAR_RETRIEVABLE_IN_JAVA = 42
    }
    release {
        A_VAR_RETRIEVABLE_IN_JAVA = 42+52
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做那样的事情?

java android gradle android-gradle-plugin

392
推荐指数
5
解决办法
13万
查看次数

Android Facebook内容提供商权限

我正在开发一个具有(至少)两种不同包名称的应用程序的应用程序 - 因此就android系统而言实际上是两个不同的应用程序.该应用程序使用Facebook共享,因此我在清单中声明了提供程序:

<provider android:authorities="com.facebook.app.FacebookContentProvider{app id here}"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true"/>
Run Code Online (Sandbox Code Playgroud)

这是根据Facebook的说明完成的:https://developers.facebook.com/docs/sharing/android

这适用于一个应用程序,但尝试在同一设备上安装第二个应用程序失败,错误为INSTALL_FAILED_CONFLICTING_PROVIDER.这是清单中定义的唯一提供程序,所以我很确定这是问题所在.如果我将提供程序字符串更改为不同的东西,则在尝试打开Facebook共享对话框时会崩溃.

我已经看到声称可以在多个Android应用程序中使用相同的Facebook应用程序,但在Facebook的文档中找不到任何关于它的内容.有没有人这样做过,你是如何解决提供商权限问题的呢?谢谢.

android facebook android-contentprovider

19
推荐指数
2
解决办法
1万
查看次数

当我构建多个productFlavor时,使用Facebook SDK INSTALL_FAILED_CONFLICTING_PROVIDER

我正在构建一个包含多个Android应用程序productFlavors,并使用Facebook SDK v4.1进行登录和共享内容.问题是,当我尝试在已经安装了相同应用程序(但风格不同)的设备上安装应用程序时,会引发错误.它不允许我安装第二个应用程序,除非我卸载现有的应用程序.

<provider android:authorities="com.facebook.app.FacebookContentProvider{my_app_id}"
        android:name="com.facebook.FacebookContentProvider"
        android:exported="true"/>
Run Code Online (Sandbox Code Playgroud)

根据这个文件,它android:authorities应该是唯一的,我应该有多个auths来完成我想做的事情.但是,我不能拥有多个Facebook AppIds,并且想知道是否有更好的方法来解决这个问题.在此先感谢能帮助我的人!

android facebook android-contentprovider android-facebook android-productflavors

7
推荐指数
2
解决办法
3330
查看次数