【发布时间】:2015-12-28 19:19:31
【问题描述】:
我已经搜索过我遇到的问题,但它非常具体,我找不到答案。
我的应用中有以下代码:
class MainActivity extends Activity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
mStatusImageView = (ImageView) findViewById(R.id.imageViewStatus);
...
mStatusImageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
...
}
...
}
我最初使用以下方法编译和导出 APK:
compileSdkVersion 21
buildToolsVersion "21.1.2"
一切正常。但后来我将我的应用更新到了最新版本:
compileSdkVersion 23
buildToolsVersion "23.0.1"
现在奇怪的部分来了。使用最新版本的 compileSdk 和 buildTools,如果我处于调试模式,一切运行良好。
但是如果我导出 APK 文件,在我的设备中安装它之后,当我运行我的应用程序时,我会收到以下错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{x.x.x/x.x.x.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setOnTouchListener(android.view.View$OnTouchListener)' on a null object reference : at x.x.x.MainActivity.onCreate(Unknown Source)
这是一个非常奇怪的问题...你们知道为什么会这样吗?
【问题讨论】:
-
清除项目并重新构建
标签: android nullpointerexception null findviewbyid