当我在我的Android项目上工作时,我发现Logcat很烦人(没有将滚动条保持在给定点),并且读到更新SDK版本添加了一个暂停按钮来解决这个问题.我更新到SDK版本17,现在我遇到了一些我之前没有的奇怪问题.我删除并添加了android支持库,但没有运气.我一直在阅读互联网,但我仍然无法弄明白.日志在下面.
03-22 15:54:18.558: E/AndroidRuntime(11597): FATAL EXCEPTION: main
03-22 15:54:18.558: E/AndroidRuntime(11597): java.lang.RuntimeException: Unable to start activity ComponentInfo{kris.android/kris.android.ActivityPortfolio}: android.view.InflateException: Binary XML file line #184: Error inflating class android.support.v4.view.ViewPager
03-22 15:54:18.558: E/AndroidRuntime(11597): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1821)
03-22 15:54:18.558: E/AndroidRuntime(11597): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1842)
03-22 15:54:18.558: E/AndroidRuntime(11597): at android.app.ActivityThread.access$1500(ActivityThread.java:132)
03-22 15:54:18.558: E/AndroidRuntime(11597): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
03-22 15:54:18.558: E/AndroidRuntime(11597): at android.os.Handler.dispatchMessage(Handler.java:99)
03-22 15:54:18.558: E/AndroidRuntime(11597): at android.os.Looper.loop(Looper.java:150)
03-22 15:54:18.558: E/AndroidRuntime(11597): at android.app.ActivityThread.main(ActivityThread.java:4263)
03-22 15:54:18.558: E/AndroidRuntime(11597): at java.lang.reflect.Method.invokeNative(Native Method)
03-22 15:54:18.558: E/AndroidRuntime(11597): at java.lang.reflect.Method.invoke(Method.java:507)
03-22 15:54:18.558: E/AndroidRuntime(11597): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-22 15:54:18.558: E/AndroidRuntime(11597): …Run Code Online (Sandbox Code Playgroud) 我正在Android中开发一个应用程序.它必须能够拍照,并将该照片发送到网页.这是代码:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("someurl");
MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); //Here throws the exception
multipartEntity.addPart("data",
new InputStreamBody(
new ByteArrayInputStream(byteArray),
"image/png"));
multipartEntity.addPart("caption", new StringBody(filename));
httpPost.setEntity((HttpEntity) multipartEntity);
Run Code Online (Sandbox Code Playgroud)
我有我的ClassPath所需的库(httpclient,apache-mime4j-core,httpcore和httpmime).它在编译时没有显示任何错误.但是,当我运行该项目时,它会显示"java.lang.NoClassDefFoundError:org.apache.http.entity.mime.MultipartEntity",但该类存在于jar中(确切地说是在httpMime中).这是完整的痕迹:
04-09 10:21:59.362: E/AndroidRuntime(10352): FATAL EXCEPTION: main
04-09 10:21:59.362: E/AndroidRuntime(10352): java.lang.NoClassDefFoundError: org.apache.http.entity.mime.MultipartEntity
04-09 10:21:59.362: E/AndroidRuntime(10352): at com.publidirecta.AppAzafata.IniciarGPSActivity2.enviarImagen(IniciarGPSActivity2.java:206)
04-09 10:21:59.362: E/AndroidRuntime(10352): at com.publidirecta.AppAzafata.IniciarGPSActivity2.onActivityResult(IniciarGPSActivity2.java:196)
04-09 10:21:59.362: E/AndroidRuntime(10352): at android.app.Activity.dispatchActivityResult(Activity.java:3908)
04-09 10:21:59.362: E/AndroidRuntime(10352): at android.app.ActivityThread.deliverResults(ActivityThread.java:2549)
04-09 10:21:59.362: E/AndroidRuntime(10352): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2595)
04-09 10:21:59.362: E/AndroidRuntime(10352): at android.app.ActivityThread.access$2000(ActivityThread.java:121)
04-09 10:21:59.362: E/AndroidRuntime(10352): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:973)
04-09 10:21:59.362: …Run Code Online (Sandbox Code Playgroud) 我正在尝试将admob广告合并到我的应用中.到目前为止,我已经在我的应用程序的主要活动的onCreate方法中添加了以下代码...
adView = new AdView(this,AdSize.BANNER,"my code number");
adView.loadAd(new AdRequest());
Run Code Online (Sandbox Code Playgroud)
程序编译没有错误,但在运行时我收到消息java.lang.NoClassDefFoundError: com.google.ads.AdView.我已经看到了问题的解释和解决方法,但是我看不出它是如何适用于我的项目的,因为我的项目中没有"lib"或"libs"目录.
根据eclipse的SDK管理器,我拥有我使用的所有内容的最新版本.
自从最新的ADT更新到第17版以来,我似乎遇到了一个棘手的问题.
我做了一个简单的应用程序来说明我的问题,我不知道我做错了什么.我的应用程序的主要活动是继承自支持包中的FragmentActivity,并且某种程度上应用程序在启动时崩溃.
为了说明,我做了一个示例项目.
首先,这里是我的虚拟类DummyProjectActivity的代码,非常简单:
public class DummyProjectActivity extends FragmentActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,有清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="be.emich.labs"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".DummyProjectActivity"
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>
Run Code Online (Sandbox Code Playgroud)
.jar文件在项目中正确导入,我得到了这个堆栈跟踪:
E/AndroidRuntime(11509): FATAL EXCEPTION: main
E/AndroidRuntime(11509): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{be.emich.labs/be.emich.labs.DummyProjectActivity}: java.lang.ClassNotFoundException: be.emich.labs.DummyProjectActivity
E/AndroidRuntime(11509): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879)
E/AndroidRuntime(11509): at …Run Code Online (Sandbox Code Playgroud) 考虑以下项目结构:
MainProject
-.idea
-.grandle
-src
-SubProject
--libs //I created this folder manually
---rxjava-core-0.16.0-sources.jar
--src
---main //+ all the sources
--build.grandle
--SubProject.iml
-build.grandle
-//other files
Run Code Online (Sandbox Code Playgroud)
我下载了从的.jar http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.netflix.rxjava%22%20AND%20a%3A%22rxjava-core%22(sources.jar ) - 但我也试过别人
然后我在SubProject中创建了lib文件夹,然后将.jar放到它上面.
在Android Studio中,我右键单击了库并选择了"Add as Library ...",其级别为:"Project Library"和模块:"SubProject".
rxjava使用包名"rx".我实现了一些导入此包的代码:
import rx.Observable;
import rx.Observer;
import rx.Subscription;
import rx.subscriptions.Subscriptions;
Run Code Online (Sandbox Code Playgroud)
在发生错误发生后构建项目时:
Gradle: package rx does not exist
Gradle: package rx.util.functions does not exist
Gradle: cannot find symbol class Action1
...
Run Code Online (Sandbox Code Playgroud)
我发现需要在SubProject/build.grandle上添加一行:
dependencies {
compile 'libs/rxjava-core-0.16.0-sources.jar' //added line
compile 'com.android.support:support-v4:19.0.0'
compile 'com.android.support:appcompat-v7:19.0.0'
}
Run Code Online (Sandbox Code Playgroud)
但它抛出:
Gradle: …Run Code Online (Sandbox Code Playgroud) 当我尝试使用admob sdk 4.3.1在我的Android应用程序中实现一个admob横幅时,我得到一个非常讨厌的ClassNotFound异常.我使用了以下实现:
表现:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10"
/>
....
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
Run Code Online (Sandbox Code Playgroud)
main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/bigmainlayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@color/grey">
<com.google.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="xxxx"
ads:adSize="BANNER"
ads:testDevices="TEST_EMULATOR"
ads:loadAdOnCreate="true"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
Project.properties
target=android-14
Run Code Online (Sandbox Code Playgroud)
错误:
03-21 22:00:25.993:E/AndroidRuntime(333):FATAL EXCEPTION:main 03-21 22:00:25.993:E/AndroidRuntime(333):java.lang.RuntimeException:无法启动活动ComponentInfo {com. xxxx/com.xxxx.MainActivity}:android.view.InflateException:二进制XML文件行#125:错误膨胀类com.google.ads.AdView 03-21 22:00:25.993:E/AndroidRuntime(333):at android .app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)03-21 22:00:25.993:E/AndroidRuntime(333):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)03-21 22:00 :25.993:E/AndroidRuntime(333):在android.app.ActivityThread.access $ 1500(ActivityThread.java:117)03-21 22:00:25.993:E/AndroidRuntime(333):在android.app.ActivityThread $ H .handleMessage(ActivityThread.java:931)03-21 22:00:25.993:E/AndroidRuntime(333):at android.os.Handler.dispatchMessage(Handler.java:99)03-21 22:00:25.993:E/AndroidRuntime(333):在android.os.Looper.loop(Looper.java:123)03-21 22:00:25.993:E/AndroidRuntime(333):在android.app.ActivityThread.main(ActivityThread.java:3683)03-21 22:00:25.993:E/AndroidRuntime(333):at java.lang.reflect.Method.invokeNative(Native Method)03-21 22 :00:25.993:E/AndroidRuntime(333):at java.lang.reflect.Method.invoke(Method.java:507)03-21 22:00:25.993:E/AndroidRuntime(333):at com.android. internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)03-21 22:00:25.993:E/AndroidRuntime(333):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597 …
我的应用程序工作正常.但是一旦我从ADT 16更新到ADT 17,我就会收到此错误
Unable to resolve superclass of Lcom/my/app/MyActivity; (130)
Link of class 'Lcom/my/app/MyActivity;' failed
D/AndroidRuntime(328): Shutting down VM
W/dalvikvm(328): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
E/AndroidRuntime(328): FATAL EXCEPTION: main
E/AndroidRuntime(328): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.app/com.my.app.MyActivity}: java.lang.ClassNotFoundException: com.my.app.MyActivity in loader dalvik.system.PathClassLoader[/data/app/com.my.app-1.apk]
E/AndroidRuntime(328): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
E/AndroidRuntime(328): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
E/AndroidRuntime(328): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
E/AndroidRuntime(328): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
E/AndroidRuntime(328): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(328): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(328): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(328): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(328): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(328): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(328): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(328): at dalvik.system.NativeStart.main(Native …Run Code Online (Sandbox Code Playgroud) 我正在使用greenDao访问我的Android手机中的数据库.一切似乎都很好,并且遵守.但是当我运行该程序时,它在DaoMaster.java - > OpenHelper类,createAllTables上的onCreate方法(db,false)崩溃;
以下是异常消息:
>05-03 15:40:34.109: E/AndroidRuntime(28587): FATAL EXCEPTION: main
05-03 15:40:34.109: E/AndroidRuntime(28587): java.lang.NoClassDefFoundError: com.hook38.sporttimer.model.sql.DaoMaster
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.hook38.sporttimer.model.sql.DaoMaster$OpenHelper.onCreate(DaoMaster.java:42)
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:165)
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.hook38.sporttimer.controller.CountdownTimerStoreController.<init>(CountdownTimerStoreController.java:32)
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.hook38.sporttimer.controller.CountdownTimerController.<init>(CountdownTimerController.java:57)
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.hook38.sporttimer.CountDownTimerActivity.onCreate(CountDownTimerActivity.java:49)
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.Activity.performCreate(Activity.java:4465)
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread.access$600(ActivityThread.java:123)
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.os.Handler.dispatchMessage(Handler.java:99)
05-03 15:40:34.109: E/AndroidRuntime(28587): at …Run Code Online (Sandbox Code Playgroud) 我正在获得一个包含在我的构建中包含的JAR中ClassNotFoundException的类(HSSFWorkbook).JAR列在此列表中(我正在使用Eclipse):
Project -> Properties -> Java Build Path -> Libraries
Run Code Online (Sandbox Code Playgroud)
我试过删除并再次添加它,但无济于事.
我的代码如下:
// ...
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
// ...
public class XLSWorkbook {
private HSSFWorkbook wb = null;
// ...
public XLSWorkbook() {
wb = new HSSFWorkbook();
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试实例化XLSWorkbook类时抛出异常.我使用的JAR是Apache 的POI库(确切地说:poi-3.8-20120326.jar).

jdom库在那里,我已经删除并一次又一次地添加到构建路径.而且,我已多次清理该项目.但我仍然得到这个错误:
04-27 10:51:27.867: W/ActivityThread(530): Application com.pkg.src.nhs.glos is waiting for the debugger on port 8100...
04-27 10:51:27.936: I/System.out(530): Sending WAIT chunk
04-27 10:51:29.396: I/dalvikvm(530): Debugger is active
04-27 10:51:29.736: I/System.out(530): Debugger has connected
04-27 10:51:29.746: I/System.out(530): waiting for debugger to settle...
04-27 10:51:29.996: I/System.out(530): waiting for debugger to settle...
04-27 10:51:30.262: I/System.out(530): waiting for debugger to settle...
04-27 10:51:30.479: I/System.out(530): waiting for debugger to settle...
04-27 10:51:30.689: I/System.out(530): waiting for debugger to settle...
04-27 10:51:30.896: I/System.out(530): waiting for debugger to settle... …Run Code Online (Sandbox Code Playgroud)