这是我的gradle.build文件: https://paste.fedoraproject.org/366276/09908146/
但是当我尝试同步gradle或构建apk时。我有这个错误:
C:\Users\alex\AndroidStudioProjects\Pieceofcake\app\build\intermediates\res\merged\debug\values-v23\values-v23.xml
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(24) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.
不,我不想使用23 API。决不。因为谷歌更改了权限结构,我不想写6+以上的解决方法。如何用22 API修复它?
答案 0 :(得分:0)
我认为如果您的构建工具文件夹中没有预先存在构建工具22.0.0和21.0.0,那么您需要将其下载并粘贴到sdk构建工具文件夹中。然后,如果您不想使用v-23,则可以访问此库功能。
答案 1 :(得分:0)
这是因为您正在使用:
compile 'com.facebook.android:facebook-android-sdk:4.+'
此库与
具有依赖关系 <groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>23.2.1</version>
您可以查看here。
它导致了这个问题,因为使用支持v23,你必须使用API编译 使用:
compileSdkVersion 23
不,我不想使用23 API。决不。因为谷歌更改了权限结构,我不想写6+以上的解决方法。如何用22 API修复它?
这是错误的。它不依赖于用于编译的api而是targetSdkVersion
。
检查doc:
如果设备运行Android 5.1或更低版本,或者您应用的目标SDK为22或更低:如果您在清单中列出了危险权限,则用户必须在安装时授予权限应用程序;如果他们不授予权限,系统根本不会安装该应用程序。
如果设备运行的是Android 6.0或更高版本,并且您应用的目标SDK为23或更高:应用必须列出清单中的权限,并且必须请求所需的每个危险权限当应用程序运行时。用户可以授予或拒绝每个权限,即使用户拒绝权限请求,应用也可以继续以有限的功能运行。
Hovewer非常重要的是要注意:
注意:从Android 6.0(API级别23)开始,用户可以随时撤消任何应用的权限,即使该应用针对较低的API级别。无论您的应用针对什么API级别,您都应该测试自己的应用,以验证其在错过所需权限时是否正常运行。