Expo/React 기본 안드로이드 어플리케이션에 대한 이야기 감소
우선, 우리 먼저 나의 개발 환경에 대해 이야기합시다.제가 사용한 것은
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
yourkeyname
과 yourkeyaliasname
을 교체합니다.너는 비밀번호를 입력해야 한다는 요구를 받을 것이다.비밀번호 꼭 기억해.
완료되면 확장자가 (.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
내부에서 universalApk
을 false
에서 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
의 출력은 .apk
10app/build/outputs/bundle/release
의 출력은 .aab
이다.
내 추측으로는 이 정도야.도움이 되었으면 좋겠습니다. 읽어 주셔서 감사합니다. 그리고 엉망진창인 영어에 대해 죄송합니다.건배~
Reference
이 문제에 관하여(Expo/React 기본 안드로이드 어플리케이션에 대한 이야기 감소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/awalariansyah/a-tale-of-reducing-expo-react-native-android-application-3cgb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sudo apt-get install default-jre
java -version
sudo apt-get install defalut-jdk
javac -version
sudo npm install --global expo-cli
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
cd /usr/lib/android-sdk/
sudo yes | sdkmanager --licenses
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
yourkeyname
과 yourkeyaliasname
을 교체합니다.너는 비밀번호를 입력해야 한다는 요구를 받을 것이다.비밀번호 꼭 기억해.완료되면 확장자가 (.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
내부에서 universalApk
을 false
에서 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
의 출력은 .apk
10app/build/outputs/bundle/release
의 출력은 .aab
이다.내 추측으로는 이 정도야.도움이 되었으면 좋겠습니다. 읽어 주셔서 감사합니다. 그리고 엉망진창인 영어에 대해 죄송합니다.건배~
Reference
이 문제에 관하여(Expo/React 기본 안드로이드 어플리케이션에 대한 이야기 감소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/awalariansyah/a-tale-of-reducing-expo-react-native-android-application-3cgb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)