Expo/React 기본 안드로이드 어플리케이션에 대한 이야기 감소

안녕하세요!제 이름은 Awal Ariansyah입니다. 이것은 제가 Dev.to에 올린 첫 번째 문장입니다!저는 여러분을 데리고 제 여정을 구경하고 React Native/Expo로 제작된android 응용 프로그램을 어떻게 순조롭게 줄이는지 알게 될 것입니다. 어떠한 오류도 발생하지 않기를 바랍니다.여정을 시작합시다!
우선, 우리 먼저 나의 개발 환경에 대해 이야기합시다.제가 사용한 것은 Lubuntu 20.04 focal이고 데스크톱 환경은 LxQt 0.14.1입니다. 자세한 내용은 아래 그림과 같습니다.나는 이미 나의 응용 프로그램을 약 49퍼센트 (유니버설 버전) 축소하는 데 성공했다.

요구 사항


순조롭게 구축하기 위해서, 당신은 몇 개의 소프트웨어 패키지를 설치해야 합니다.

JRE 설치


sudo apt-get install default-jre


설치 확인

java -version


JDK 설치


sudo apt-get install defalut-jdk


설치 확인

javac -version



Expo 명령행 설치


sudo npm install --global expo-cli


Android 명령줄 도구 설치


sudo export ANDROID_HOME=/usr/lib/android-sdk

sudo wget https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip

sudo unzip commandlinetools-linux-6609375_latest.zip -d cmdline-tools

sudo mv cmdline-tools $ANDROID_HOME/

sudo export PATH=$ANDROID_HOME/cmdline-tools/tools/bin:$PATH


라이센스 설정


/usr/lib/android sdk/디렉토리로 이동

cd /usr/lib/android-sdk/


우리는 sdk를 사용하기 전에 허가증을 받아야 한다

sudo yes | sdkmanager --licenses

/tmp 폴더에 대한 사용 권한도 변경해야 합니다.

sudo chmod -R 0777 /tmp


행동


그래서 터미널에서 로컬 폴더를 열 때 가장 먼저 해야 할 일은 터미널입니다.안전을 위해서 프로젝트 파일을 먼저 백업해야 합니다.
다음 명령 실행

expo eject


너는 몇 가지 질문을 받고 프로젝트 정보에 따라 대답할 것이다.프로젝트가 완료되면 안드로이드와 IOS라는 새 폴더가 있습니다.android 폴더로 이동하여 local.properties이라는 새 파일을 만듭니다.이 파일은gradle 구축 프로그램에 필요한 sdk를 가리키는 데 사용됩니다.

cd android

touch local.properties

sudo nano local.properties


이렇게 sdk.dir 변수를 추가합니다.
sdk.dir = /usr/lib/android-sdk/
Ctrl + O, Enter, Ctrl + x에 보관하세요.
그런 다음 터미널의 android/app 폴더로 이동하여 Google Play Store에서 게시할 수 있도록 애플리케이션에 키 라이브러리를 생성합니다.

cd android/app

sudo keytool -genkey -v -keystore yourkeyname.keystore -alias yourkeyaliasname -keyalg RSA -keysize 2048 -validity 10000

yourkeynameyourkeyaliasname을 교체합니다.너는 비밀번호를 입력해야 한다는 요구를 받을 것이다.비밀번호 꼭 기억해.
완료되면 확장자가 (.keystore)인 새 파일이 나타납니다.그게 니 열쇠야.이제 디렉토리를 반환하고 gradle.properties 파일을 편집합니다.

cd ..

sudo nano gradle.properties


아래에 이 줄을 덧붙이다
MYAPP_UPLOAD_STORE_FILE=yourkeyname.keystore
MYAPP_UPLOAD_KEY_ALIAS=yourkeyaliasname
MYAPP_UPLOAD_STORE_PASSWORD=yourkeypassword
MYAPP_UPLOAD_KEY_PASSWORD=yourkeypassword
org.gradle.jvmargs=-Xmx4096m
yourkeyname, yourkeyaliasname, yourkeypassword을 교체하여 보관합니다.
이제 app 폴더로 이동하여 build.gradle 파일을 편집합니다.

cd app

sudo nano build.gradle


이 줄들을false에서true로 변경합니다
def enableSeparateBuildPerCPUArchitecture = false
def enableProguardInReleaseBuilds = false
signingConfigs으로 아래로 스크롤하여 debug 아래에 구성 추가
    release {
            if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
                storeFile file(MYAPP_UPLOAD_STORE_FILE)
                storePassword MYAPP_UPLOAD_STORE_PASSWORD
                keyAlias MYAPP_UPLOAD_KEY_ALIAS
                keyPassword MYAPP_UPLOAD_KEY_PASSWORD
        }
그리고 buildTypes에서 괄호에서 release을 찾아 이 줄을 변경합니다
signingConfig signingConfigs.debug
대상
signingConfig signingConfigs.release
minifyEnabled 아래에 이 줄을 추가하십시오
shrinkResources true

그리고 마지막 줄로 내려가 오른쪽 괄호(})를 추가합니다.나는 이 이상한 끝 괄호가 없으면 내가 틀릴 줄 몰랐다.

마지막으로 통용되는 apk 파일을 만들고 위로 스크롤하고 분리를 검색하려면 abi 내부에서 universalApkfalse에서 true으로 변경하십시오.아껴라.

주의: 만약 응용 프로그램에 권한이 없다면, 안드로이드 매니페스트에 use permission 코드가 없는지 확인하십시오.xml.사실상 가방에 권한을 설정하지 않았기 때문이다.json, expo는 프로그램에 모든 권한을 자동으로 추가합니다. Google play store에 발표하려고 할 때 이 문제가 발생했습니다. 이 부분을 검사했는지 확인하십시오.
이제 모든 것이 준비되었으니 집을 지을 때가 되었다.android 폴더로 돌아가며 이 폴더에는 gradlew 파일이 있습니다.터미널에 수퍼유저로 로그인하여 권한 문제를 피하십시오.

cd ..

sudo su


니가 짓고 싶으면apk 파일, 이 명령을 실행합니다

./gradlew assembleRelease


또는 번들(.aab) 파일을 생성하려면 다음 명령을 실행하십시오.

./gradlew buildRelease


내 예에서, 이것은 대략 5-18분 정도 걸리는데, 구체적으로는 당신의 기계와 프로젝트에 달려 있다.app/build/outputs/apk/release의 출력은 .apk10app/build/outputs/bundle/release의 출력은 .aab이다.
내 추측으로는 이 정도야.도움이 되었으면 좋겠습니다. 읽어 주셔서 감사합니다. 그리고 엉망진창인 영어에 대해 죄송합니다.건배~

좋은 웹페이지 즐겨찾기