为什么打包的apk中反射不到R.java这个类

为什么打包的apk中反射不到R.java这个类,第1张

android 程序中的资源ID是Android SDK自动生成的,Android SDK会自动生成一个R文件,所有的资源ID都在R文件中。

以下是R文件的说明:

/* AUTO-GENERATED FILE.  DO NOT MODIFY.

* This class was automatically generated by the

* aapt tool from the resource data it found.  It

* should not be modified by hand.

*/

提示开发者,这是一个自动生成的文件,不能手动去修改它。

Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的  id属性值。id属性只能接受资源类型的值也就是必须以@开头的值,例如@id/abc、@+id/xyz等。

如果在@后面使用“+”表示当修改完某个布局文件并保存后系统会自动在  R.java文件中生成相应的int类型变量。变量名就是“/”后面的值例如@+id/xyz  会在R.java文件中生成int xyz = value其中value是一个十六进制的数。

如果  xyz在R.java中已经存在同名的变量就不再生成新的变量而该组件会使用这已存在的变量的值。

首先,看下R文件,有没有你上面的ID。

没有的话,点项目-clean 。

有的话,估计你是导了android里面的那个R包了,你看看你导的包有木有 “import android.R”

有的话去掉,导自己的那个R包。

不懂怎么导自己的R包的话,把鼠标移到红叉的地方,会有2个R

包让你导,你导自己项目的R包就行了

还不是的话就得看源代码才知道了。。可以留下Q。。。俺看看。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11068964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存