首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓应用崩溃

安卓应用崩溃
EN

Stack Overflow用户
提问于 2011-07-17 08:01:19
回答 3查看 2.7K关注 0票数 0

谁知道为什么这段代码不能工作,它工作得很好,直到我尝试安装谷歌AdMob广告软件开发工具包,然后突然应用程序崩溃,每次我尝试运行它。

代码语言:javascript
复制
package co.miniz.RageToonViewer;

import java.io.FileReader;
import java.net.MalformedURLException;
import java.net.URL;
import org.w3c.dom.Text;
import co.miniz.RageToonViewer.R;
import co.miniz.RageToonViewer.ImageNumbers;
import co.miniz.RageToonViewer.NoRepeatRandom;
import co.miniz.RageToonViewer.Download;
import android.app.Activity;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.TextView;

public class RageToonViewerActivity extends Activity {
FileReader reader;
URL url;
Download DL;
NoRepeatRandom randGen;
ImageNumbers noOfImages;
ImageView imView;
Gallery g;
Text text1;
Bitmap bmImg;
TextView tv;
AssetManager assetManager;
int random;
int prevRand = -10;
int noOfFiles ;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
        assetManager = getAssets();
        DL = new Download();
        imView = (ImageView)findViewById(R.id.mainImage);
        imView.setScaleType(ImageView.ScaleType.FIT_CENTER);

        //----- Get Number OF Images -----
        noOfImages = new ImageNumbers();
        noOfFiles = noOfImages.GetNumber();

        //----- Set Button and Text outPut for testing -----
        Button button1main = (Button) findViewById(R.id.button1);
        tv = (TextView)findViewById(R.id.text1);
        tv.setText("Click above for a random RageToon!");


        //----- Generate Random Number -----
        randGen = new NoRepeatRandom(0, noOfFiles);
        random = randGen.GetRandom();

        //----- Set First Image -----
        imView.setImageBitmap(GetImage());

        //----- Set up Button Click Action -----
        button1main.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                tv.setText("Click above for a random RageToon!" + noOfFiles);
                noOfFiles = noOfImages.GetNumber();
                imView.setImageBitmap(GetImage());
            }
         });

        imView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                tv.setText("Click above for a random RageToon!" + noOfFiles);
                noOfFiles = noOfImages.GetNumber();
                imView.setImageBitmap(GetImage());
            }
        });
} 

public Bitmap GetImage() {

    random = randGen.GetRandom();
    URL tempURL = null;
    try {
        tempURL = new URL("http://miniz.co/RageToonApp/Images/" + random + ".jpg");
    } catch (MalformedURLException e1) {
        e1.printStackTrace();
    }
    Bitmap TempImage = DL.getRemoteImage(tempURL, tv);

    if (TempImage == null)
    {
        TempImage = GetImage();
    }
   return TempImage;
}
}

在调试时,我可以在LogCat视图中看到一条java.lang.RuntimeException: Unable to instantiate activity ComponentInfo。

谢谢你的帮助!罗斯。

编辑:从LogCat

代码语言:javascript
复制
07-17 01:35:14.680: WARN/dalvikvm(3540): threadid=3: thread exiting with uncaught exception (group=0x40023160)
07-17 01:35:14.680: ERROR/AndroidRuntime(3540): Uncaught handler: thread main exiting due to uncaught exception
07-17 01:35:14.770: ERROR/AndroidRuntime(3540): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{co.miniz.RageToonViewer/co.miniz.RageToon.RageToonViewerActivity}: java.lang.ClassNotFoundException: co.miniz.RageToon.RageToonViewerActivity in loader dalvik.system.PathClassLoader@458a4278
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2424)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2519)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.app.ActivityThread.access$2200(ActivityThread.java:123)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1870)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.os.Looper.loop(Looper.java:123)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.app.ActivityThread.main(ActivityThread.java:4370)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at java.lang.reflect.Method.invokeNative(Native Method)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at java.lang.reflect.Method.invoke(Method.java:521)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at dalvik.system.NativeStart.main(Native Method)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540): Caused by: java.lang.ClassNotFoundException: co.miniz.RageToon.RageToonViewerActivity in loader dalvik.system.PathClassLoader@458a4278
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):     ... 11 more
07-17 01:35:14.890: ERROR/SemcCheckin(3540): Get crash dump level : java.io.FileNotFoundException: /data/semc-checkin/crashdump
07-17 01:35:14.900: WARN/ActivityManager(1146): Unable to start service Intent { act=com.sonyericsson.android.jcrashcatcher.action.BUGREPORT_AUTO cmp=com.sonyericsson.android.jcrashcatcher/.JCrashCatcherService (has extras) }: not found
07-17 01:35:15.000: INFO/Process(1146): Sending signal. PID: 3540 SIG: 3
07-17 01:35:15.000: INFO/dalvikvm(3540): threadid=7: reacting to signal 3
07-17 01:35:15.000: ERROR/dalvikvm(3540): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
07-17 01:35:15.060: ERROR/SemcCheckin(1681): Get Crash Level : java.io.FileNotFoundException: /data/semc-checkin/crashdump
07-17 01:35:15.170: DEBUG/dalvikvm(2189): GC freed 264 objects / 16000 bytes in 32ms
07-17 01:35:19.036: WARN/jdwp(3540): Debugger is telling the VM to exit with code=1

编辑:感谢您的回复,但是在修改了路径名等之后,代码仍然不能正常工作。我发现我现在在eclipse中创建的每一个应用程序,当我尝试在我的手机上运行它时,都会崩溃?

当我使用以下代码时,它们也会崩溃:

代码语言:javascript
复制
requestWindowFeature(Window.FEATURE_NO_TITLE);

我希望这将有助于确定哪里出了问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-17 14:34:36

从异常可以看出,dalvik正在路径"co.miniz.RageToon.RageToonViewerActivity"下查找您的文件"RageToonViewerActivity“,但是定义在package "package co.miniz.RageToonViewer"中,因此无法定位。

  1. 我建议你去android清单文件,在你的活动被定义的地方,给出完整的路径。

2.清理你的项目。开始吧!!

祝你好运!

票数 3
EN

Stack Overflow用户

发布于 2011-07-17 09:42:02

注意以下描述:java.lang.ClassNotFoundException: co.miniz.RageToon.RageToonViewerActivity in loader dalvik.system.PathClassLoader

检查您的类路径。

票数 0
EN

Stack Overflow用户

发布于 2012-03-24 06:19:28

我在使用requestWindowFeature(Window.FEATURE_NO_TITLE);时也遇到了同样的问题

现在我使用了下面的代码,并且没有崩溃。

代码语言:javascript
复制
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6721058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档