【安卓开发】【Android Studio】项目构建(Build)时报错:Integer Overflow

一、问题描述

在安卓项目中,构建(Build)失败并报错:xxxxx Integer Overflow(整型溢出)。

二、相关代码

刚开始以为是某个整数(例如控件、java类)不匹配造成的,检查如下代码:

Java类:

java 复制代码
public class Video_Activity10 extends AppCompatActivity {
    private MediaPlayer mPlayer = null;
    private SurfaceView sfv_show;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_video10);
        @SuppressLint({"MissingInflatedId", "LocalSuppress"}) SurfaceView sfv_show = findViewById(R.id.surface);
        SurfaceHolder surfaceHolder = sfv_show.getHolder();
        @SuppressLint({"MissingInflatedId", "LocalSuppress"}) Button btn_start = findViewById(R.id.btn1);
        @SuppressLint({"MissingInflatedId", "LocalSuppress"}) Button btn_pause = findViewById(R.id.btn2);
        @SuppressLint({"MissingInflatedId", "LocalSuppress"}) Button btn_stop = findViewById(R.id.btn3);
        mPlayer = MediaPlayer.create(Video_Activity10.this, R.raw.video_10);
        mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                Toast.makeText(Video_Activity10.this,"视频播放完毕",Toast.LENGTH_LONG).show();
            }
        });
        btn_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mPlayer.setDisplay(sfv_show.getHolder());
                mPlayer.start();
            }
        });
        btn_pause.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mPlayer.pause();
            }
        });
        btn_stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mPlayer.stop();
            }
        });

    }
}

xml布局文件:

java 复制代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".Video_Activity10">

    <!--    视 频 主 体    -->
    <SurfaceView
        android:id="@+id/surface"
        android:layout_width="wrap_content"
        android:layout_height="480dp"
        android:layout_gravity="center_horizontal"
        android:keepScreenOn="true"/>

    <!--    播 放 按 钮    -->
    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/play"/>

    <!--    暂 停 按 钮    -->
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/pause"/>

    <!--    停 止 按 钮    -->
    <Button
        android:id="@+id/btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/stop"/>

</LinearLayout>

没有问题。

之后,以为是内存限制过小导致,修改gradle.properties文件:

将这里的8000上调至10000:

java 复制代码
org.gradle.jvmargs=-Xmx8000m -Dfile.encoding=UTF-8

报错消失。

三、后续思考

However......之后,将上述的10000再改回8000,依旧没有报错。

可能是运行时出现的随机报错?

相关推荐
消失的旧时光-194327 分钟前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
Jinkxs31 分钟前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&31 分钟前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin
LDORntKQH1 小时前
基于深度强化学习的混合动力汽车能量管理策略 1.利用DQN算法控制电池和发动机发电机组的功率分配 2
android
冬奇Lab1 小时前
Android 15 ServiceManager与Binder服务注册深度解析
android·源码·源码阅读
2501_916008893 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
独行soc4 小时前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
常利兵4 小时前
2026年,Android开发已死?不,它正迎来黄金时代!
android
Risehuxyc5 小时前
备份三个PHP程序
android·开发语言·php
Doro再努力14 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim