小编an0*_*00b的帖子

无法实例化活动...由ClassNotFoundException引起

在将完美工作的应用程序转换为库(包括其Activity类!)后,我试图通过简单地超类化库的活动来创建一个使用整个库的应用程序:

package com.example.baseapp.paid;

import android.os.Bundle;
import com.example.baseapp.LibActivity;


public class PaidActivity extends LibActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}
Run Code Online (Sandbox Code Playgroud)

Eclipse构建这个新的"重新架构"应用程序没有任何错误,但是当我尝试运行它时,我得到一个例外:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.baseapp.paid/com.example.baseapp.paid.PaidActivity}: java.lang.ClassNotFoundException: com.example.baseapp.paid.PaidActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.baseapp.paid-1.apk]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:4627)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.example.baseapp.paid.PaidActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.baseapp.paid-1.apk]
    at …
Run Code Online (Sandbox Code Playgroud)

java android android-library

8
推荐指数
2
解决办法
6404
查看次数

检查"是库"复选框做什么"在封面下"?

我注意到当我通过选中"is Library"复选框将现有的Android应用程序项目转换为Android库项目时,项目的源代码或XML文件没有任何变化.

那么当选中"is Library"复选框时会发生什么?内部,包和/或项目文件中有什么变化?我在哪里可以了解更多相关信息?

为了更好地解释我的问题:

  1. 我有兴趣知道(主要是为了排除故障)是 什么使应用程序包与"封面下的"库包有区别
  2. 那是一个项目是"图书馆计划"的事实某处标记?如果是这样,它在哪里标记它(显然不在源文件中,甚至不在res XML文件中)

android android-library library-project

8
推荐指数
2
解决办法
3621
查看次数

在Android-x86上网本上使用ADB over Bluetooth调试应用程序

我设法在我的上网本上设置了一个运行良好的Android-x86,启用了蓝牙并与我的Windows 7开发工作站配对(!).

我最初希望使用adb,就像我通过USB使用真正的手机一样.所以我插入了专用的USB公对公电缆......没有任何反应.原来Android-x86不支持通过USB线连接.

然后我找到关于如何通过WiFi进行ADB的很好说明.问题是我的Android-x86上网本上有WiFi,但我的Windows 7桌面PC没有.我确实可以购买WiFi加密狗,但我更喜欢更直接的解决方案.

我碰巧在我的Android-x86上网本和我的电脑上都有蓝牙工作,所以我希望找到一个可以让我快速通过蓝牙进行ADB的解决方案.我在这里发现了非常令人鼓舞的指令:https://stackoverflow.com/a/11129818但不幸的ADB over Network是,在我的Android-x86设备上无处可寻.

任何提示或想法如何使我的Android-x86上网本上的蓝牙工作?

我相信如果我可以让我的Android-x86的蓝牙有一个IP地址,我可以从那里去,但我该怎么做?(ifconfig在Android的终端仿真器中不起作用).

android tcp bluetooth adb tethering

8
推荐指数
1
解决办法
6574
查看次数

匿名内部类(非匿名内部类)的优点是什么?

考虑这个(匿名):

speakBtn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        mTts.speak(words.getText().toString(), TextToSpeech.QUEUE_ADD, null);
    }});
Run Code Online (Sandbox Code Playgroud)

与此:(非匿名):

class MyOuterClass {
    private class MyOnClickListener implements OnClickListener {
        @Override
        public void onClick(View view) {
            mTts.speak(words.getText().toString(), TextToSpeech.QUEUE_ADD, null);
        }
    }

    // later (inside some method)...
        speakBtn.setOnClickListener(new MyOnClickListener());
}
Run Code Online (Sandbox Code Playgroud)

除了行数较少外,匿名表单还有其他优势吗?

有性能优势吗?

java anonymous-types inner-classes

7
推荐指数
1
解决办法
8258
查看次数

如何在Application的AndroidManifest.xml中引用Library Project中的图标

我正在尝试为从库项目派生的所有应用程序使用相同的应用程序图标.

我认为它将像实现此线程中提供的建议一样简单,但遗憾的是它不起作用.

我所做的是添加到<manifest>应用程序中的标记,AndroidManifest.xml如下所示:

xmlns:mylib="http://schemas.android.com/apk/res/com.example.baseapp"
Run Code Online (Sandbox Code Playgroud)

并在同一个AndroidManifest.xml文件中输入几行,将典型更改@drawable/icon为:

   <application android:icon="@mylib:drawable/icon">
Run Code Online (Sandbox Code Playgroud)

但它不起作用!

相反,Eclipse告诉我:

错误:错误:找不到与给定名称匹配的资源(在'icon'处,值为'@omlib:drawable/icon').

显然,从布局XML和清单XML引用drawable是不一样的.

如何在Application的AndroidManifest.xml中引用Library Project中的图标?

android android-manifest android-library library-project

7
推荐指数
2
解决办法
7032
查看次数

如果收到的TTS太长,onUtteranceCompleted()会丢失

我刚刚在Android的TTS引擎中观察到"未记录的异常":如果要说的文本太长(大于4K个字符),那么onTetteranceCompleted()对于那个特定的话语将永远不会到达......

还有其他人遇到过这个吗?

这是一个已知的错误或限制吗?

可以做些什么来解决这个问题?

android text-to-speech onutterancecompleted

7
推荐指数
1
解决办法
671
查看次数

升级到Proguard 4.8后无法导出应用程序

我刚刚将Android SDK,ADT和Proguard升级到最新版本.

我的项目编译构建并在调试模式下运行良好,但是一旦我尝试导出它的签名版本APK,我就会从Eclipse控制台上的导出向导收到错误而没有任何错误日志消息!*

在此输入图像描述

如果我尝试通过Window->Show View->Error Log所有查看错误日志,我看到更多相同:

在此输入图像描述

我不知道该怎么办,因为Eclipse和Proguard都不会暗示问题是什么.

我的项目在最近的升级之前一直很好.没有构建警告.没有棉绒警告!

我正在使用Android的标准配置文件${sdk.dir}\tools\proguard\proguard-android.txt:

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

-dontoptimize
-dontpreverify

-keepattributes *Annotation*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgent
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.support.v4.app.Fragment
-keep …
Run Code Online (Sandbox Code Playgroud)

eclipse android proguard adt android-library

7
推荐指数
1
解决办法
3031
查看次数

ArrayList.clear()是否也删除了所有包含的对象?

假设我有一个以这种方式创建的ArrayLists的ArrayList:

  ArrayList< ArrayList<String> > listOfListsOfStrings = 
                              new ArrayList< ArrayList<String> >();
Run Code Online (Sandbox Code Playgroud)

如果我打电话:

 listOfListsOfStrings.clear();
Run Code Online (Sandbox Code Playgroud)

稍后访问listOfListsOfStrings中的 任何字符串的尝试是否导致java.lang.NullPointerException

java garbage-collection arraylist

6
推荐指数
1
解决办法
5064
查看次数

在Eclipse ADT中自定义LogCat列

此SO线程表明可以从命令行自定义LogCat列.

是否可以对Eclipse中的DDMS视图执行相同的操作?

更新:我在看ANDROID_LOG_TAGSenv var.看起来很有希望.

adt android-logcat

6
推荐指数
0
解决办法
1009
查看次数

如何检测耳机功能

我知道如何检测耳机是否插入,但有些耳机(如三星EHS60ANNBE)来与暂停/播放(又名KeyEvent的.KEYCODE_HEADSETHOOK)按钮,没有了上一页/下一页...

我希望能够检测当前插入Android设备的耳机是否具有PREV/NEXT(又名KeyEvent.KEYCODE_ MEDIA_PREVIOUS /KeyEvent.KEYCODE_ MEDIA_NEXT).

这可能吗?

android headset android-audiomanager

6
推荐指数
1
解决办法
354
查看次数