타사 apk를 로드하여 리소스 Resources$NotFoundException: Resource ID #0x0 가져오기

1348 단어 Android--Bug
emmm는 최근에 홍양의 앱 스킨케어에 관한 블로그를 보았습니다. 그래서 그대로 했습니다. 플러그인식 스킨케어 과정에서 문제가 발생한 것을 발견했습니다. 기록해 주세요.
플러그인식 스킨케어 타사 apk 불러오기, 자원 파일 찾을 수 없음
오류 메시지는 다음과 같습니다. W/ResourceType: No package identifier when getting value for resource number 0x00000000 W/System.err: android.content.res.Resources$NotFoundException:Resource ID #0x0 네, 잘못된 위치가 바로 여기에 있습니다.getIdentifier를 통해 자원 이름, 자원 유형, 패키지 이름에 문제가 생겼습니다... mResources.getDrawable(mResources.getIdentifier(name,”drawable”, mPackageName));
주로 다음과 같은 몇 가지 이유로 문제가 발견되었습니다.
  • 그림 이름이'skin bg.png'==>'skin bg'와 같이 잘못되었습니다.png | .jpg 등 접미사
  • 또는 그림 이름이 그림 이름으로 잘못 전송되었는지 앞에'/drawable/'경로를 추가할 필요가 없음
  • 제3자를 만든 프로그램에 자원을 넣었어요. mpmap 폴더에 넣었어요?23333... 저는 이렇습니다. 새로운 모듈을 만들 때 기본적으로mipmap 폴더만 있고,drawable 폴더도 없고, 보지도 않고,mipmap 폴더 안에 잃어버렸습니다.이렇게 하면 당연히 얻을 수 없지.
  • Type 형식 오류... 그림 자원을 가져오려면 "drawable"을 가져오고, 색을 가져오려면 "color"를 가져오고,null
  • 을 가져오지 않습니다.
  • 가방 이름을 확인하세요. getPackageName()를 통해 얻을 수 있으면 이것을 통과하세요. 도저히 안 되면 복사하세요. 절대 손으로 쓰지 마세요.
  • 마지막으로 만악의 경로 문제야.AssetManager를 통해 로드됩니다.apk의 경로는 내가 가장 먼저 asset 폴더에 넣고 통과했다file:///android_asset/xxx.apk불러오기, 호출 방법은 문제없지만, 얻는 자원은 얻는 데 실패합니다.마지막으로 sdcard의 루트 디렉터리에 넣을 수 밖에 없습니다. Environment.getExternalStorageDirectory()+ File.separator+"xxx.apk"; 를 통해 불러옵니다.
  • 좋은 웹페이지 즐겨찾기