2016-05-14 48 views
1

构建Android应用程序这是我gradle.build文件: https://paste.fedoraproject.org/366276/09908146/不能与API 22

但是,当我尝试的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

我想,如果构建工具22.0.0和21.0.0是不是在你的构建工具预先存在的文件夹,那么你需要下载并在SDK构建工具粘贴文件夹。那么如果您不想使用v-23,则可以访问该库功能。

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 23
用途:

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级别如何,您都应该测试您的应用,以验证它在缺少所需权限时的行为。