gpt4 book ai didi

android - Android-MenuDrawer 编译错误

转载 作者:行者123 更新时间:2023-11-30 03:14:31 25 4
gpt4 key购买 nike

我正在尝试将在 Eclipse 中开发的应用程序迁移到 Intellij Idea,该应用程序使用 ActionBarSherlock 和 Android-MenuDrawer (SimonVT)

我在使用 Maven 导入 Android-MenuDrawer 库时遇到问题。使用 ActionBarSherlock 编译得很好,我可以在项目中很好地使用它,但不能使用 MenuDrawer。

当我尝试使用 Maven 进行编译时,出现以下错误:

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/MenuDrawer.java:[854,40] cannot find symbol
symbol: variable LAYOUT_DIRECTION_RTL
location: class net.simonvt.menudrawer.MenuDrawer
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/MenuDrawer.java:[861,40] cannot find symbol
symbol: variable LAYOUT_DIRECTION_RTL
location: class net.simonvt.menudrawer.MenuDrawer
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/MenuDrawer.java:[873,14] cannot find symbol
symbol: method onRtlPropertiesChanged(int)
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/MenuDrawer.java:[882,80] cannot find symbol
symbol: variable LAYOUT_DIRECTION_RTL
location: class net.simonvt.menudrawer.MenuDrawer
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/MenuDrawer.java:[871,5] method does not override or implement a method from a supertype
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/MenuDrawer.java:[1325,72] cannot find symbol
symbol: variable LAYOUT_DIRECTION_RTL
location: class net.simonvt.menudrawer.MenuDrawer
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/ViewHelper.java:[44,57] cannot find symbol
symbol: variable JELLY_BEAN_MR1
location: class android.os.Build.VERSION_CODES
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/ViewHelper.java:[45,21] cannot find symbol
symbol: method getLayoutDirection()
location: variable v of type android.view.View
[ERROR] /D:/Android/menudrawer/menudrawer/src/net/simonvt/menudrawer/ViewHelper.java:[48,20] cannot find symbol
symbol: variable LAYOUT_DIRECTION_LTR
location: class android.view.View

最佳答案

我能找到错误。问题是android sdk的依赖性,实际是4.1.1.4(api 16)是maven存储库中的最后一个。但是项目需要api 17+

请按照以下步骤操作:1)下载一个版本的sdk 17+2) 下载 maven-android-sdk-deployer项目,并阅读安装说明3) 通过更改属性 4.1.1.4 和 16 来编辑 pom.xml 文件(根)通过以下任一方式,具体取决于 SDK:

<android.version>4.2.2_r2</android.version>
<android.platform>17</android.platform>

<android.version>4.3_r2</android.version>
<android.platform>18</android.platform>

<android.version>4.4_r1</android.version>
<android.platform>19</android.platform>

同时编辑

<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${android.version}</version>
</dependency>

通过

<dependency>
<groupId>android</groupId>
<artifactId>android</artifactId>
<version>${android.version}</version>
</dependency>

还需要将maven插件的版本从3.6.0更新到3.8.0。

改变这个:

<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<sdk>
<platform>${android.platform}</platform>
</sdk>
</configuration>
<extensions>true</extensions>
</plugin>

通过这个:

<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<sdk>
<platform>${android.platform}</platform>
</sdk>
</configuration>
<extensions>true</extensions>
</plugin>

4) 编辑 pom.xml(menudrawer 文件夹)编辑以下内容:

<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<scope>provided</scope>
</dependency>

通过

<dependency>
<groupId>android</groupId>
<artifactId>android</artifactId>
<scope>provided</scope>
</dependency>

充值maven项目并编译

关于android - Android-MenuDrawer 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20360951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com