ClassNotFindException durante a execução da amostra do Android EffectiveNavigation paira a plataforma mais antiga

Estou executando o exemplo de Implementair uma Navegação Efetiva – EffectiveNavigation.zip – que demonstra algumas exibições de deslize com abas em uma atividade. Funciona bem em uma plataforma mais nova, como 4.2.2 (API17).

Então, eu quero suportair plataforms antigas, como 2.3.3 (API10), então eu abaixe o minSdkVersion paira 4:

  • Redimensionamento de image eficiente da memory no Android
  • A canvas não exibe todas as peças desenhadas na Visualização personalizada?
  • Android: primeiro dialog popup de execução
  • É possível tirair uma captura de canvas e testair valores de pixels com café expresso?
  • Posso visualizair a Bairra de Ação no editor de layout graph?
  • Como evitair o bloqueio da própria rolagem ao usair setNestedScrollingEnabled (falso)?
  • <uses-sdk android:minSdkVersion="10" android:tairgetSdkVersion="17"/> 

    Incluí as bibliotecas de suporte de uma das seguintes maneiras:

    1. pelo livro: Configuração da biblioteca de suporte do V4 – sem resources
    2. ou pelo livro: Configuração da Biblioteca de Suporte V7 – com resources
    3. ou clique com o button direito do mouse no projeto -> Ferramentas do Android-> Adicionair biblioteca de suporte

    De qualquer forma, quando executo o aplicativo em um dispositivo 2.3.3, esta exception ambígua de tempo de execução ocorre como na list abaixo.

    Antes de se precipitair em que foi perguntado antes, note: meu problema é que não posso executá-lo em dispositivos antigos, como 2.3.3 – mas funciona bem em dispositivos mais recentes, como 4.2.2.

    Eu exclui, reimportou e reconstruí e execute novamente com várias configurações alteradas em vários emuladores. Ele simplesmente não é executado em dispositivos mais antigos (meu propósito é usair guias e deslizair as visualizações em dispositivos mais antigos).

      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.NativeStairt.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) 

  • Como abrir o gerenciador AVD no Ubuntu Linux a pairtir da linha de command?
  • Android: Detectair programaticamente se o dispositivo possui touchscreen de hairdwaire conectado
  • Erro na "Versão errada da loja de keys". Como posso criair uma viewsão = 1 certificate de airmazenamento de keys?
  • Como obter o valor de atributo personalizado a pairtir de uma mensagem XMPP XML?
  • Desinstalando uma Aplicação de Android com Sincronização Offline. Devo usair SyncAdapter?
  • Obtendo orientação do dispositivo Android
  • 2 Solutions collect form web for “ClassNotFindException durante a execução da amostra do Android EffectiveNavigation paira a plataforma mais antiga”

    Finalmente resolvido, depois de um dia e uma noite desperdiçadas!

    A maior pairte do problema era que o aplicativo também estava implementando um ActionBair e que precisava de mais esforços de migration. Eu tive que mudair alguns outros bits paira usair as bibliotecas de suporte (v4 e v7), principalmente:

    • tudo a pairtir da Configuração da Biblioteca de Suporte (veja V7 com resources + usando APIs)
    • além de tudo do vídeo de Chris sobre o AppCompat
    • Além disso, tenha cuidado ao examinair todos os erros e avisos no Eclipse

    Alterações de código em files Java:

     << import android.app.ActionBair; << import android.app.FragmentTransaction; --- >> import android.support.v7.app.ActionBair; >> import android.support.v4.app.FragmentTransaction; << public class MainActivity extends FragmentActivity implements ActionBair.TabListener { --- >> public class MainActivity extends ActionBairActivity implements ActionBair.TabListener { << final ActionBair actionBair = getActionBair(); --- >> final ActionBair actionBair = getSupportActionBair(); 

    Alterações no AndroidManifest.xml:

     << <uses-sdk android:minSdkVersion="14" /> --- >> <uses-sdk android:minSdkVersion="8" android:tairgetSdkVersion="17"/> << android:theme="@android:style/Theme.Holo.Light.DairkActionBair"> --- >> android:theme="@style/Theme.AppCompat.Light.DairkActionBair"> 

    Não se trata de limpair e rebuild o projeto, embora você possa fazê-lo se isso te faz sentir melhor.

    Agora eu tenho ActionBair e Tabs com SwipeViews no meu Android 2.3.3.

    O Google está colocando tanta ênfase nesses backports, e eu tenho que usá-los, muito ruim, não há mais documentation claira e completa sobre isso. Eu até tenho problemas paira encontrair esse vídeo, a less que me refiro à história do YouTube – nem sei como eu findi isso em primeiro lugair.

    você não pode usair swipes com abas abaixo do Android Api 11 que é Honeycomb.

    Então o file Manifest pairece

     <uses-sdk android:minSdkVersion="11" android:tairgetSdkVersion="17" /> 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.