.apk 不会安装在 AVD 上。清单不更新?

Posted

技术标签:

【中文标题】.apk 不会安装在 AVD 上。清单不更新?【英文标题】:.apk will not install on AVD. Manifest not updating? 【发布时间】:2015-03-21 10:43:58 【问题描述】:

因此,我构建了这个简单的应用程序,作为我正在学习的自学 android 课程的一部分。它工作正常,直到我对 Java 文件进行了一些更改,然后尝试重新安装并再次启动。根据我所做的研究,我认为这与清单有关,但我不确定出了什么问题。如果您需要查看其他内容,请询问。我真的很难过。在我添加 switch 语句之前,它一直在工作。这是一个if else 集群,我被告知尝试使用switch statement 来完成它。它似乎在 eclipse 中检查,但我无法弄清楚这一点。这是 logcat 的输出。

01-22 07:43:12.106: E/libprocessgroup(1717): 未能制作和 chown /acct/uid_10054: 只读文件系统 01-22 07:43:12.106: W/Zygote(1717):createProcessGroup 失败,内核丢失 CONFIG_CGROUP_CPUACCT? 01-22 07:43:12.107:我/艺术(1717):不是 后期启用-Xcheck:jni(已经开启)01-22 07:43:12.192: D/AndroidRuntime(1717): 关闭 VM 01-22 07:43:12.192: D/AndroidRuntime(1717): --------- 崩溃开始 01-22 07:43:12.193:E/AndroidRuntime(1717):致命异常:主要 01-22 07:43:12.193:E/AndroidRuntime(1717):过程: com.codeherenow.trafficlights,PID:1717 01-22 07:43:12.193: E/AndroidRuntime(1717): java.lang.RuntimeException: 无法 实例化活动 组件信息com.codeherenow.trafficlights/com.codeherenow.trafficlights.TrafficLightsActivity: java.lang.InstantiationException:类 com.codeherenow.trafficlights.TrafficLightsActivity 不能 实例化 01-22 07:43:12.193: E/AndroidRuntime(1717): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) 01-22 07:43:12.193: E/AndroidRuntime(1717): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 01-22 07:43:12.193: E/AndroidRuntime(1717): 在 android.app.ActivityThread.access$800(ActivityThread.java:144) 01-22 07:43:12.193:E/AndroidRuntime(1717):在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 01-22 07:43:12.193: E/AndroidRuntime(1717): 在 android.os.Handler.dispatchMessage(Handler.java:102) 01-22 07:43:12.193:E/AndroidRuntime(1717):在 android.os.Looper.loop(Looper.java:135) 01-22 07:43:12.193: E/AndroidRuntime(1717):在 android.app.ActivityThread.main(ActivityThread.java:5221) 01-22 07:43:12.193:E/AndroidRuntime(1717):在 java.lang.reflect.Method.invoke(本机方法)01-22 07:43:12.193: E/AndroidRuntime(1717):在 java.lang.reflect.Method.invoke(Method.java:372) 01-22 07:43:12.193: E/AndroidRuntime(1717):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 01-22 07:43:12.193: E/AndroidRuntime(1717): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 01-22 07:43:12.193: E/AndroidRuntime(1717): 由: java.lang.InstantiationException:类 com.codeherenow.trafficlights.TrafficLightsActivity 不能 实例化 01-22 07:43:12.193: E/AndroidRuntime(1717): at java.lang.Class.newInstance(Class.java:1553) 01-22 07:43:12.193: E/AndroidRuntime(1717):在 android.app.Instrumentation.newActivity(Instrumentation.java:1065) 01-22 07:43:12.193: E/AndroidRuntime(1717): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) 01-22 07:43:12.193: E/AndroidRuntime(1717): ... 10 更多 01-22 07:48:13.660:I/Process(1717):发送信号。 PID:1717 SIG:9

这是清单:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.codeherenow.trafficlights"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name">
        <activity
            android:name="com.codeherenow.trafficlights.TrafficLightsActivity"
            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>

这里是java:

package com.codeherenow.trafficlights;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public abstract class TrafficLightsActivity extends Activity implements OnClickListener 

        private ImageView redLight;
        private ImageView yellowLight;
        private ImageView greenLight;

        private Button redButton;
        private Button yellowButton;
        private Button greenButton;



    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.traffic_lights);

        redLight=(ImageView) findViewById(R.id.red_light);
        yellowLight=(ImageView) findViewById(R.id.yellow_light);
        greenLight=(ImageView) findViewById(R.id.green_light);


        redButton=(Button) findViewById(R.id.Red_Button);
        yellowButton=(Button) findViewById(R.id.Yellow_Button);
        greenButton=(Button) findViewById(R.id.Green_Button);


        redButton.setOnClickListener(this);
        yellowButton.setOnClickListener(this);
        greenButton.setOnClickListener(this);
        redLight.setOnClickListener(this);
        yellowLight.setOnClickListener(this);
        greenLight.setOnClickListener(this);


    



    public void onClick (View v) 
        int v2=v.getId();
         turnOffLight();

        // TODO Auto-generated method stub
        switch(v2)
        case R.id.Red_Button:case R.id.red_light:
            turnOnRedLight();
            break;

        case R.id.Yellow_Button: case R.id.yellow_light:
            turnOnYellowLight();
            break;

        case R.id.Green_Button: case R.id.green_light:
            turnOnGreenLight();
            break;

            default:
            break;


        

    



    private void turnOffLight() 
        // TODO Auto-generated method stub
        redLight.setImageResource(R.drawable.light_off);
        greenLight.setImageResource(R.drawable.light_off);
        yellowLight.setImageResource(R.drawable.light_off);
    





    private void turnOnGreenLight() 
        // TODO Auto-generated method stub
        greenLight.setImageResource(R.drawable.green_on);
    



    private void turnOnYellowLight() 
        // TODO Auto-generated method stub
        yellowLight.setImageResource(R.drawable.yellow_on);
    



    private void turnOnRedLight() 
        // TODO Auto-generated method stub
        redLight.setImageResource(R.drawable.red_on);
    


【问题讨论】:

【参考方案1】:
public abstract class TrafficLightsActivity

你的错误是Caused by: java.lang.InstantiationException:..

解决办法是

public class TrafficLightsActivity

【讨论】:

以上是关于.apk 不会安装在 AVD 上。清单不更新?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 android AVD 安装 .apk 文件? [复制]

在 AVD 模拟器中如何查看 sdcard 文件夹并将 APK 安装到 AVD?

如何app自动升级 静默安装 android

Android SDK 的最新更新使我的 x86 AVD 加载 .apk 变得异常缓慢

Android Studio 更新后 AVD 无法启动

在Android studio模拟器中运行apk文件