好的,我已经正确导入了v7-appcompat库(是的,我已经取消选中了依赖项),在项目中使用时我得到了log cat中的错误列表。 该应用程序正常运行和Android Moto g即在Android 4.4.2上,但不在我的LG p500 2.2.2上,
我还按照从http://developer.android.com/tools/support-library/setup.html
官方网站导入android资源库的说明进行操作我开始认为这是一个安卓漏洞,请帮忙
- 04-14 19:59:22.223: W/dalvikvm(12718): VFY: unable to resolve virtual method 318: Landroid/content/pm/PackageManager;.getActivityLogo (Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
- 04-14 19:59:22.223: W/dalvikvm(12718): VFY: unable to resolve virtual method 314: Landroid/content/pm/ApplicationInfo;.loadLogo (Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
04-14 19:59:22.463: W/dalvikvm(12718): Link of class 'Landroid/support/v7/widget/SearchView$5;' failed
04-14 19:59:22.463: E/dalvikvm(12718): Could not find class 'android.support.v7.widget.SearchView$5', referenced from method android.support.v7.widget.SearchView.addOnLayoutChangeListenerToDropDownAnchorSDK11
04-14 19:59:22.463: W/dalvikvm(12718): VFY: unable to resolve new-instance 840 (Landroid/support/v7/widget/SearchView$5;) in Landroid/support/v7/widget/SearchView;
04-14 19:59:22.663: W/dalvikvm(12718): VFY: unable to resolve direct method 8207: Landroid/widget/LinearLayout$LayoutParams;.<init> (Landroid/widget/LinearLayout$LayoutParams;)V
我的代码很简单,,, action.xml(操作栏的菜单)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:lol="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/item1"
android:icon="@drawable/ic_action_copy"
android:title="@string/title"
lol:showAsAction="ifRoom"
/>
<item
android:id="@+id/searchActivity"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
lol:showAsAction="ifRoom|collapseActionView"
lol:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>
android清单文件如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gamehaschanged"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
<activity
android:name="com.example.gamehaschanged.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
mainActivity也直接如下
package com.example.gamehaschanged;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.action, menu);
MenuItem searchItem = menu.findItem(R.id.searchActivity);
return true;
}
}
该项目没有崩溃,但发出警告和错误,我不希望在项目后期出现任何问题
答案 0 :(得分:3)
我没有50条评论的声誉,所以我会在这里回答。
您将需要两个库:
android-support-v4.jar
android-support-v7-appcompat.jar
如果您计划在Android项目中使用appcompat
库。
您可以将上述JAR文件从\android-sdk\extras\android\support\v7\appcompat\libs
目录复制到项目的libs
目录中,从而将上述JAR文件嵌入到项目中。
或者,您可以通过以下方式在不同的Android项目中共享appcompat库:
在Eclipse中,选择文件|导入|现有项目进入工作区。然后,点击下一步。
点击浏览,然后浏览到Android appcompat目录。默认目录应为:.. \ android-sdk \ extras \ android \ support \ v7 \ appcompat。
点击完成以添加新项目。
选择Android项目的属性标签。
在“属性”屏幕中,选择 Android 选项(在左侧窗格中),然后单击添加,并从列表中选择appcompat库。 / p>
点击确定以保存更改。