Rum*_*raK 8 android classnotfoundexception android-support-library
我正在运行实施有效导航 - EffectiveNavigation.zip中的示例- 它演示了一些活动中带有选项卡的滑动视图.它在较新的平台上运行良好,例如4.2.2(API17).
然后我想支持2.3.3(API10)等旧平台,所以我将minSdkVersion降低到4:
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17"/>
Run Code Online (Sandbox Code Playgroud)
我确实通过以下方式之一包含支持库:
无论如何,当我在2.3.3设备上运行应用程序时,会出现这种模糊的运行时异常,如下面的清单所示.
在之前已经提出请求之前请注意:我的问题是我无法在2.3.3这样的旧设备上运行它 - 但在4.2.2这样的新设备上运行正常.
我删除,重新导入并重建并重新运行各种模拟器上的各种更改设置.它只是不能在旧设备上运行(我的目的是在旧设备中使用选项卡和滑动视图).
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.android.effectivenavigation/com.example.android.effectivenavigation.MainActivity}: java.lang.ClassNotFoundException: com.example.android.effectivenavigation.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.android.effectivenavigation-1.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.example.android.effectivenavigation.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.android.effectivenavigation-1.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
Run Code Online (Sandbox Code Playgroud)
Rum*_*raK 14
经过一天一夜的浪费,终于解决了!
大多数问题是该应用程序还在实施ActionBar,并且需要更多的迁移工作.我不得不改变其他一些位来使用支持库(v4和v7),主要是:
Java文件中的代码更改:
<< import android.app.ActionBar;
<< import android.app.FragmentTransaction;
---
>> import android.support.v7.app.ActionBar;
>> import android.support.v4.app.FragmentTransaction;
<< public class MainActivity extends FragmentActivity implements ActionBar.TabListener {
---
>> public class MainActivity extends ActionBarActivity implements ActionBar.TabListener {
<< final ActionBar actionBar = getActionBar();
---
>> final ActionBar actionBar = getSupportActionBar();
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中的更改:
<< <uses-sdk android:minSdkVersion="14" />
---
>> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/>
<< android:theme="@android:style/Theme.Holo.Light.DarkActionBar">
---
>> android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
Run Code Online (Sandbox Code Playgroud)
这不是关于清理和重建项目,尽管你可以这样做,如果它让你感觉更好.
现在我的2.3.3 Android上有ActionBar和带有SwipeViews的Tabs.
谷歌非常重视这些反击,我必须使用它们,太糟糕了,没有更清晰,更完整的文档.除非我参考YouTube历史记录,否则我自己也很难找到该视频 - 甚至不知道我是如何找到它的.
| 归档时间: |
|
| 查看次数: |
1951 次 |
| 最近记录: |