/sdcard/ 다운로드에 저장된 설치 프로그램 파일 이름을 가져올 수 있습니다 /? 나는 그것을 설치 한 apk 파일 이름에서 app을 얻고 싶다. 비 시장 앱에서 특히 쉽게 할 수있는 방법이 있습니까?Android : 설치 프로그램 파일 이름을 프로그래밍 방식으로 얻는 방법?
답변
더 좋은 방법은 분명히 매니페스트에 버전 문자열을 포함시키는 것입니다. 이것은 실제로 신뢰할 수있는 (그리고 전문적인) 방법입니다. Android는 APK가있는 파일의 이름을 어디에도 저장하지 않으므로 가져올 수있는 방법이 없습니다. 이론적으로
당신은 아마 FileObserver
, 특정 디렉토리에있는 것을 보았다 파일 생성 및 파일이 확장자 .apk
당신이 파일을 열 매니페스트를 추출 할 수있는 사용하여 만든 모든 시간을 사용하여 뭔가를 만들 수는 APK의 패키지 이름을 찾아 이것을 파일 이름과 함께 일부 영구 저장소에 저장하십시오. 그런 다음 버전 정보를 얻으려면 영구 저장소에서 필요한 패키지 이름과 일치하는 파일 이름을 찾습니다.
전에 앱을 에 설치하고 다른 APK 파일을 다운로드/설치 한 경우에만 작동합니다. 이것은 자신의 응용 프로그램의 파일 이름을 찾는 데는 효과가 없습니다.
흠, 난 당신의 sdcard 또는 다운로드 폴더가 무슨 뜻인지 잘 모르겠지만, 당신은 시스템/데이터 디렉토리에 APK 경로를 얻을 수 :
명령 행 :
$ adb shell pm list packages | grep mk.trelloapp
package:mk.trelloapp
$ adb shell pm path mk.trelloapp
package:/data/app/mk.trelloapp-1/base.apk
또는 안드로이드 응용 프로그램에서 코드 : (간단하게 실행 프로세스)
Process exec = Runtime.getRuntime().exec("pm path mk.trelloapp");
exec.waitFor();
InputStream inputStream = exec.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
String line = null;
while((line = br.readLine()) != null) {
builder.append(line);
}
String commandOutput = builder.toString();
위의 코드는 단순히 당신에게 문자열 포함 "패키지 : /data/app/mk.trelloapp-1/base.apk"제공해야
/data 디렉토리의 경로를 가져올 때 다른 디렉토리에서 동일한 (비슷한 파일) 파일을 검색하려고 시도 할 수 있습니다 (삭제되지 않았다고 가정). 설치 중에 Android 패키지가/data 디렉토리에 복사되기 때문입니다.
이것은 도움이되지 않습니다. OP는 자신의 앱 버전 번호가 해당 파일 이름의 일부로 인코딩 되었기 때문에 다운로드 한 APK 파일의 원래 파일 이름을 가져올 수 있기를 원합니다. '/ data'에 대한 APK 경로에는 패키지 이름 만 사용되므로이 정보는 포함되지 않습니다. –
- 1. .app 파일 이름을 프로그래밍 방식으로 얻는 방법?
- 2. 프로그래밍 방식으로 응용 프로그램 바로 가기 설치
- 3. C# 프로그래밍 방식으로 SQL Server 설치 경로를 얻는 방법?
- 4. 프로그래밍 방식으로 글꼴 설치
- 5. 아이폰 프로그래밍 캐리어 이름을 얻는 방법
- 6. android에서 프로그래밍 방식으로 프로그램 단축키를 추가하는 방법
- 7. Plupload 파일 이름을 얻는 방법?
- 8. 컴퓨터 이름을 프로그래밍 방식으로 변경하십시오.
- 9. Android Cupcake에서 GPS를 프로그래밍 방식으로 사용하는 방법
- 10. Android : 브라우저를 사용하여 프로그래밍 방식으로 파일 다운로드
- 11. 프로그래밍 방식으로 Android 앱의 이름을 바꾸는 방법은 무엇입니까?
- 12. Android - Phonegap - 찍은 사진의 파일 이름을 얻는 방법
- 13. StartingNodeUrl - 값을 프로그래밍 방식으로 얻는 방법?
- 14. 프로그래밍 방식으로 Windows 검색 기록을 얻는 방법?
- 15. Maven에서 프로그래밍 방식으로 리소스 인코딩을 얻는 방법
- 16. 프로그래밍 방식으로 링크 속도를 얻는 방법?
- 17. 프로그래밍 방식으로 Windows 서비스 설치
- 18. 프로그래밍 방식으로 Windows에 글꼴 설치
- 19. 프로그래밍 방식으로 MSI 패키지 설치
- 20. 프로그래밍 방식으로 ScatterViewItem 이름을 지정하십시오.
- 21. PHP에서 프로그래밍 방식으로 변수/const 이름을 얻는 방법은 무엇입니까?
- 22. 내 응용 프로그램 디렉토리 이름을 얻는 방법
- 23. Android : 프로그래밍 방식으로 비공개 번호를 감지하는 방법
- 24. Android : 프로그래밍 방식으로 EditText를 강조 표시하는 방법?
- 25. Android - 프로그래밍 방식으로 버튼 색상을 설정하는 방법
- 26. 프로그래밍 방식으로 android 응용 프로그램에서보기를 추가하는 방법
- 27. 프로그래밍 방식으로 android : layout_column을 설정하는 방법
- 28. 프로그래밍 방식으로 Java 힙 크기를 늘리는 방법
- 29. 프로그래밍 방식으로 설치/배포 프로젝트에 버전 부여
- 30. 프로그래밍 방식으로 Visual Studio 설치 프로젝트의 ProductCode 응용 프로그램 받기
"설치 프로그램 파일 이름"은 무엇을 의미합니까? APK의 이름? 그렇다면 왜 그걸 원하니? 자세한 내용을 입력하십시오. –
예 sd 카드에 저장된 apk의 이름을 얻고 싶습니다. 나는 apk 파일을 만들고 서버에 저장했다. 누군가 그것을 다운로드하려고 할 때 서버는 예를 들어 "application00086.apk"라는 고유 한 이름을 가진 파일을 생성한다. 문제는 다음과 같습니다 : 설치 후// data/app/getInstallerPackageName이라는 재미있는 방법을 찾았지만이 메소드는 설치 프로그램 패키지 이름 만 반환하고 Android 마켓에 배포 된 응용 프로그램 만이 고유 한 파일 이름을 디렉토리 설치 프로그램 파일 NAME을 (를) 받고 Market에 내 앱을 배포하고 싶지 않습니다. – Wolfie
@ Wolfie : 나는 당신과 같은 문제에 직면 해있다. 당신은 이것을위한 해결책을 얻었습니까? 고마워요! – hoang8f