Android 在某些设备上找不到资源

Android resource not found on some devices

在 Note 5 上 运行 使用 android studio (2.0 p4) 构建的应用程序时出现问题。澄清一下这在模拟器和其他设备上完美运行。 示例中的应用程序只是默认的 "empty" 应用程序,与我们正在构建的应用程序具有完全相同的错误

以下代码:

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

抛出以下异常(在注释 5 上):

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.note5test/com.test.note5test.MainActivity}:
 android.content.res.Resources$NotFoundException: Resource ID #0x7f020016

R 文件:

public static final int abc_ic_ab_back_mtrl_am_alpha=0x7f020016;

如果我只是更改为扩展 Activity(而不是 AppCompatActivity),它虽然可以工作,但我需要使用操作栏,所以这不是一个选项。

现在在这上面花了太多时间...有什么线索吗?

您的情况可能只是支持库导入错误,但也有可能是 Note 5 OS 修改了支持库 built-in。削减了一些东西,比如方法(NoSuchMethod 异常)或资源。值得研究的是,三星的最新 OS(带有 Touch Wiz)是否不会重现类似的问题 AcitonBar 在 4.2.2 上的一个 Mini 上膨胀...(重复的库包,使用系统安装的应用程序,已修改)也许尝试在 gradle、clean、build、try 中更改支持 lib 版本(22.2.+?或什至更旧)。还有 not-so-old ActionbarActivity(目前已弃用)

@CommonsWare 在我看来,即使 Okku 仅支持 4.0+,他也应该使用 AppCompatActivity,它有更多的改进,尤其是在布局膨胀与小部件定制和尊重统一样式方面。不要忘记当前 OS 版本是 6.0,比 ActionBar introduced/changed 有更多改进:) (Toolbar!)

找到问题了,是因为我的构建工具是旧版本,我使用的版本没有正确处理资源,所以只更新到新版本就可以了。