android - 无法实例化 Activity

标签 android manifest

我正在尝试运行亚马逊提供的示例项目,该项目旨在说明亚马逊的移动广告 API,但它生成了错误。以下是 logcat 的内容:

11-18 02:34:49.470: W/dalvikvm(938): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
11-18 02:34:49.501: E/AndroidRuntime(938): FATAL EXCEPTION: main
11-18 02:34:49.501: E/AndroidRuntime(938): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.amazon.sample.simplead/com.amazon.sample.simplead.SimpleAdActivity}: java.lang.ClassNotFoundException: com.amazon.sample.simplead.SimpleAdActivity
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1923)
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2024)
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.app.ActivityThread.access$600(ActivityThread.java:126)
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.os.Looper.loop(Looper.java:137)
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.app.ActivityThread.main(ActivityThread.java:4479)
11-18 02:34:49.501: E/AndroidRuntime(938):  at java.lang.reflect.Method.invokeNative(Native Method)
11-18 02:34:49.501: E/AndroidRuntime(938):  at java.lang.reflect.Method.invoke(Method.java:511)
11-18 02:34:49.501: E/AndroidRuntime(938):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-18 02:34:49.501: E/AndroidRuntime(938):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-18 02:34:49.501: E/AndroidRuntime(938):  at dalvik.system.NativeStart.main(Native Method)
11-18 02:34:49.501: E/AndroidRuntime(938): Caused by: java.lang.ClassNotFoundException: com.amazon.sample.simplead.SimpleAdActivity
11-18 02:34:49.501: E/AndroidRuntime(938):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
11-18 02:34:49.501: E/AndroidRuntime(938):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
11-18 02:34:49.501: E/AndroidRuntime(938):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
11-18 02:34:49.501: E/AndroidRuntime(938):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1914)
11-18 02:34:49.501: E/AndroidRuntime(938):  ... 11 more
11-18 02:39:49.690: I/Process(938): Sending signal. PID: 938 SIG: 9

这是 Android list 文件:

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

<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />


<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".SimpleAdActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="com.amazon.device.ads.MraidBrowser" android:configChanges="keyboardHidden|orientation"/>
    <activity android:name="com.amazon.device.ads.VideoActionHandler" android:configChanges="keyboardHidden|orientation"/>
</application>

我尝试更改以下行:

    android:name=".SimpleAdActivity"

 android:name="com.amazon.sample.simplead.SimpleAdActivity"

仍然得到同样的错误。

编辑:这是类代码

/**


* Copyright 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at http://aws.amazon.com/apache2.0/
 * or in the "license" file accompanying this file.
 * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.amazon.sample.simplead;

import com.amazon.device.ads.*;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

/**
 * This is a simple app for testing ad loading capabilities of the Amazon Mobile Ads SDK. 
 * This app demonstrates ad loading, expanding and collapsing along with device rotation.
 */

    public class SimpleAdActivity extends Activity implements AdListener
{

private AdLayout adView; // The ad view used to load and display the ad.
private static final String APP_ID = "sample-app-v1_pub-2"; // Sample App Key. Replace this variable with your App Key
private static final String LOG_TAG = "SimpleAdSample"; // Tag used to prefix all log messages

/**
 * When the activity starts, load an ad and set up the button click event to load another ad when it's clicked.
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // For debugging purposes enable logging, but disable for production builds
    AdRegistration.enableLogging(this, true);
    // For debugging purposes flag all ad requests as tests, but set to false for production builds
    AdRegistration.enableTesting(this, true);

    adView = (AdLayout)findViewById(R.id.ad_view);
    adView.setListener(this);

    try {
        AdRegistration.setAppKey(getApplicationContext(), APP_ID);
    } catch (Exception e) {
        Log.e(LOG_TAG, "Exception thrown: " + e.toString());
        return;
    }

    // Assign an onclick handler to the button that will load our ad.
    Button button = (Button) findViewById(R.id.load_ad_button);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            LoadAd();
        }
    });

    // Calling load ad in the Activity's onCreate method allows a new ad to be loaded 
    // when the application starts and also when the device is rotated.
    LoadAd();
}

/**
 * Load a new ad.
 */
public void LoadAd() { 
    // Load the ad with the appropriate ad targeting options.
    AdTargetingOptions adOptions = new AdTargetingOptions();
    adView.loadAd(adOptions);
}

/**
 * This event is called after a rich media ads has collapsed from an expanded state.
 */
@Override
public void onAdCollapsed(AdLayout view) {
    Log.d(LOG_TAG, "Ad collapsed.");
}

/**
 * This event is called if an ad fails to load.
 */
@Override
public void onAdFailedToLoad(AdLayout view, AdError error) {
    Log.w(LOG_TAG, "Ad failed to load. Code: " + error.getResponseCode() + ", Message: " + error.getResponseMessage());
}

/**
 * This event is called once an ad loads successfully.
 */
@Override
public void onAdLoaded(AdLayout view, AdProperties adProperties) {
    Log.d(LOG_TAG, adProperties.getAdType().toString() + " Ad loaded successfully.");
}

/**
 * This event is called after a rich media ad expands.
 */
@Override
public void onAdExpanded(AdLayout view) {
    Log.d(LOG_TAG, "Ad expanded.");
}
}

最佳答案

Java 构建路径 -> 订购和导出 下将 amazon-ads-x.y.z.jar 添加为导出库。

关于android - 无法实例化 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13438429/

相关文章:

java - 用于在 Android 上比较图像的 OpenGL ES 1.1/2.0 着色器

android - 如果用户阅读 SMS(来自 native )(不包括 "read"),SMS 的任何其他属性是否也会被修改?

android - 警报管理器不工作

ruby-on-rails - 如何从模块中获取 puppet list 中的文件

java - 如果从最近使用的应用程序中删除应用程序,Android Oreo 接收器将停止

android - 显示 Internet 设置的对话框窗口

android - 如何使用复选框在 fragment 内的弹出菜单中显示所选项目?

WiX - 设置 MSI 的程序名称

java - Ant 构建在生成 list 时创建了不正确的 jar 相对路径

java - splashscreen 无法在 java 的 netbeans IDE 中工作?