programing

장치에 Android App 번들 설치

codeshow 2023. 9. 9. 10:22
반응형

장치에 Android App 번들 설치

저는 새로운 안드로이드 앱 번들 포맷을 사용하여 프로젝트를 만들었습니다.APK 파일을 사용하면 APK를 단말기에 내려받아 열고 바로 앱을 설치할 수 있습니다.앱을 번들(.aab 형식)로 다운로드했는데 Android 8.1을 실행하는 Nexus 5X에서 파일을 열 수 없습니다.AAB를 APK와 같은 편리한 방식으로 기기에 설치할 수 있는 방법은 없습니까?

단답형:

직접은 아닙니다.

긴 답변:

Android 앱 번들은 Google Play Store의 앱에 대한 기본 게시 형식입니다.는 ① Android를 필요로 ..apk응용 프로그램을 설치할 파일입니다.

Play Store 또는 설치하려는 다른 소스가 번들에서 앱을 추출하고 각 앱에 서명한 다음 대상 장치에 맞게 설치합니다.

.aab에서 .apk로 변환은 번들 툴을 통해 수행됩니다.

내부 앱 공유를 사용하여 앱의 디버그 가능 빌드를 플레이 스토어에 업로드하고 테스터와 공유할 수 있습니다.

MAC의 경우:

brew install bundletool
bundletool build-apks --bundle=app-release.aab --output=app-release.apks
bundletool install-apks --apks=app-release.apks

장치에서 직접 aab을 설치해보니 방법을 찾지 못했습니다.

그러나 다음 설명서를 사용하여 명령줄을 통해 설치하는 방법이 있습니다. BundleTool을 통해 장치에 apk를 설치할 수 있습니다.

Calvo의 코멘트에 하려면 "@Albert Vila Calvo"를 사용해야 한다고 했습니다.brew install bundletool

이제 aab 파일에서 extract apks를 설치하여 장치에 설치할 수 있습니다.

다음 명령을 통해 apk 파일 추출

java -jar 번들 도구 -all-0.3.3.jar build-apks --sav=java.aab --output=app.apks --ks=my-release-key.keystore --ks-key-pass=pass:pass:password

인수:

  • --bundle -> Android 번들 .aab 파일
  • --output -> 생성된 apk 파일의 대상 및 파일명
  • --ks -> Android 번들 생성에 사용되는 키스토어 파일
  • --ks-key-alias -> 키 저장소 파일의 별칭
  • --ks-pass -> Alias 파일의 비밀번호 (비밀번호 값 앞에 'pass' 접두사가 붙음)

그러면 확장자가 .apks인 파일이 있을 것입니다. 그래서 이제 장치에 설치해야 합니다.

java-jar 번들 도구-all-0.6.0.jar install-apks --adb=/damper-damper/platform-tools/adb --apks=app.apks

인수:

  • --adb -> adb 파일 경로
  • --apks -> apks 파일 설치 필요

번들 을 할 할 수 .[NAME].aab퍼블리싱 포맷이기 때문에 안드로이드 기기에 직접 연결하지만, 필요한 것을 추출할 수 있는 방법이 있습니다.apkbundle과 같습니다.

  1. 여기서 번들 도구 다운로드
  2. 단말기에서 이걸 실행하고,
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
  1. 마지막 단계에서는 다음과 같은 이름의 파일을 생성합니다.out_bundle_archive_set.apks, 그냥 이름을 로 바꿉니다.out_bundle_archive_set.zip파일의 zip 파일 합니다.out_bundle_archive_set > standalones을 볼 수 있습니다. apk 을 입니다 의 입니다 을 .

번들 툴 링크에 대한 안드로이드 개발자들의 참조가 있습니다.

android developer reference

테스트 목적으로 aab에서 장치로 pk를 설치하려면 연결된 장치에서 실행하기 전에 구성을 편집해야 합니다.

  1. 편집으로 으로
    enter image description here
  2. 배포 드롭다운을 선택하고 "기본 apk"enter image description here에서 "app 번들의 APK"로 변경합니다.
  3. 변경 사항을 적용한 다음 연결된 장치에서 실행합니다.이렇게 변경하면 빌드 시간이 늘어납니다.

이것은 aab에서 연결된 장치에 apk를 직접 설치합니다.

싱글을 universal.apk모든 안드로이드 기기에서 실행할 수 있습니다.

brew install bundletool
bundletool build-apks --mode universal --bundle ./app-release.aab --output ./app.apks
mv app.apks app.zip
unzip app.zip

당신은 의 , 의 을 얻을 수 있습니다.universal.apk

맥에서 효과가 있었어요번들툴이라는 툴을 사용해야 합니다. 아직 설치되지 않은 경우에는 설치할 수 있습니다.brew

brew install bundletool

원하는 위치에 apks 파일을 추출하고 저장하려면 이 명령을 실행합니다.

bundletool build-apks --bundle=path/to/app-release.aab --output=/path/to/output/app.apks --local-testing

연결된 Android 장치에 설치

bundletool install-apks --apks=/path/to/output/app.apks

여기 https://gist.github.com/maheshmnj/6f5debbfae2b8183d94ca789d081f026 에서 출력과 함께 전체 명령을 확인했습니다.

이 시점에서 Maui를 사용하는 경우 Visual Studio 2022는 AAB 파일만 생성하지만 명령줄에서 APK를 생성할 수 있습니다.

디렉터리를 프로젝트가 있는 위치로 변경하고 다음 작업을 실행합니다.

dotnet publish -f:net6.0-android -c:Release /p:AndroidSigningKeyPass=blah

브로크를 변환하려면 다음과 같은 간단한 단계를 따릅니다.

1.이 링크에서 bundltool-all-1.14.1.jar 다운로드

2. [your-aab-file-name]을(를) 이동합니다.aab와 번들 도구 - 데스크탑에 대한 all-1.14.1.jar.

이 코드 합니다. 터미널을 열고 이 코드를 작성합니다.cd .\Desktop\Enter 키를 누릅니다. {{

4.이제 이 코드를 작성하고 Enter 키를 누릅니다.

C:\Users\[Your-user-name]\Desktop\bundletool-all-1.14.1.jar build-apks --bundle=[Your-aab-file-name.aab] --output=app-release.aab.apks --mode=universal

5.이후 데스크톱에 "app-release.aab.apks"라는 파일이 있으면 WinRAR {또는 그와 비슷한 것으로 열리면 apk 파일이 있고 설치할 수 있습니다.

PLAY STORE를 사용하지 않고 APP 번들을 설치하려면 안드로이드 스튜디오에서 빌드 변형을 "릴리즈"로 변경해야 합니다.

직접 앱을 만들 수는 없지만 릴리스 번들이 있다면 가장 인기 있는 답변을 참조하십시오.

Android Studio > Build > Build Variant 선택으로 이동..

enter image description here

이렇게 하면 빌드 구성에 오류가 표시되기 시작할 수 있습니다.이것은 이제 이 구성에서도 서명 세부 정보를 제공해야 하기 때문입니다(이것은 build.gradle의 서명 세부 정보를 나타냅니다).

enter image description here

구성을 편집하고 하단의 수정 버튼으로 이동하여 서명 세부 정보를 입력할 수 있습니다.

또는 build.gradle을 편집할 수도 있습니다. 빌드를 제공해야 합니다.{} 유형 및 signingConfigs {}

android {
    signingConfigs {
        release {
            storeFile file('<Your PATH>\\keystore.jks')
            storePassword 'XXXXX
            keyAlias 'XXXXX'
            keyPassword 'xxxxx'
        }
        debug {
           storeFile file('<Your PATH>\\keystore.jks')
            storePassword 'XXXXX
            keyAlias 'XXXXX'
            keyPassword 'xxxxx'
        }
    }
    compileSdkVersion 32
    defaultConfig {
       ....
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug
        {
            signingConfig signingConfigs.debug
        }
    }
    ...


}

dependencies {

    ...
}

Android Studio가 올바르게 반영되기까지 1~2분 정도의 지연이 있습니다.그렇지 않으면 새로 만들기를 한 후 앱을 실행할 수 있습니다.

이번에 앱을 실행하면 대상 기기에 릴리스 모드로 설치됩니다.설치된 앱의 빌드 변형을 식별하는 방법이 필요할 수 있습니다.앱 어딘가에 빌드 이름과 변형을 표시할 수 있습니다.또는 디버그 모드에서만 표시되는 버튼이 있다면 확인할 수 있습니다.

프로젝트가 있는 경우 장치에서 개발자 모드에서 adb를 활성화하고 컴퓨터를 컴퓨터에 연결할 때 이 컴퓨터 신뢰를 탭하는 한 장치를 연결하고 대상으로 선택한 상태에서 디버그 또는 릴리스 구성을 실행하면 안드로이드 스튜디오로 앱을 구축하거나 장치에 직접 푸시할 수 있습니다.

그러나 한 전화기에서 다른 전화기로 앱을 풀 설치하려고 하기 때문에 번들을 가지고 있다면, 플레이 스토어 링크를 앱의 직접 다운로드로 변환하는 무료 온라인 서비스가 있습니다.서깅만고고t깅nndadb install <path-to-apk>

하도록 설정한 가 둘 adb를 사용할 수 .adb devices과 신원의 adb install <path-to-apk> <device-id>잘 될 겁니다.또는 필요에 따라 adb를 사용하여 여러 장치에서 여러 가지 작업을 한 번에 수행할 수도 있습니다.와이파이에 대한 광고를 하는 방법도 있습니다.

Android Studio를 설치하면 로컬 설치가 이미 되어 있지만 사용자 경로에 없을 수도 있기 때문에 이 작업을 수행하려면 Android-sdk 도구의 adb가 필요합니다.하지만 스튜디오 단말기는 IDE가 기본 설정에 저장한 sdk 경로이기 때문에 접근할 수 있습니다.그렇지 않은 경우 독립 실행형 sdk를 다운로드하여 기본 설정에서 사용 중인 스튜디오를 찾을 수 있습니다.

  • 해당 sdk의 platform-tools 디렉토리에서 adb를 경로에 추가합니다(최상).
  • 방금 찾은 절대 경로에서 adb를 호출하고 마지막 명령을 다시 사용하기 위해 계속 전화를 걸어 apk/device를 스왑합니다.
  • adb 디렉토리에 cd를 연결하고 각 apk에 대한 전체 경로와 함께 사용하기만 하면 됩니다(easiest).

Windows 11의 경우:

PSC:/folder-with-aab-file> java -jar C:\dev\bundlet tool-all-1.9.1\bundlet tool.jar build-apks --lanot=app-release.aab --output=app-release.aab.apks --mode=universal

PSC:/folder-with-aab-file> ren app-release.aab.apks app-release.aab.apks.zip

압축 해제 zip 파일 후 apk 파일에 universal이라는 이름이 표시됩니다.apk

AAB를 APK와 같은 편리한 방식으로 기기에 설치할 수 있는 방법은 없습니까?

설치는 앱처럼 타사 앱이나 모바일 회사 파일 관리자가 하기 때문입니다.
앞으로 출시될 파일 관리자 버전에는 "aab" 관리 도구가 함께 제공될 예정입니다.

플레이스토어에서 '안드로이드 aab 설치자'를 검색해보니 하나가 있더군요.

enter image description here

의도적으로 이름을 짓지 않았습니다.
내가 설치한 거, 온라인에서 묶음을 추출한 거,
하지만 그 후 이 앱은 (내 mi [miui] 기기에) 이 추출된 앱을 스스로 설치할 수 없었습니다.
하지만 이 어플은 온라인에서 추출한 apk를 핸드폰 메모리에 저장해두었고, 거기서 설치할 수 있었습니다.
기억하기:
구글의 "파일" 응용 프로그램이 이 apk를 설치할 수 없습니다.
그렇지만
시스템(내장) 파일러 관리자가 할 수 있었습니다.

(Linux에서) 사용: cd Android ./gradlew assemblyRelease|assemblyDebug

(디버그 또는 테스트를 위해) 각 경우에 대해 서명되지 않은 APK가 생성됩니다.

참고: Windows에서 gradlew.bat의 gradle 실행 파일을 바꿉니다.

언급URL : https://stackoverflow.com/questions/50419286/install-android-app-bundle-on-device

반응형