Не могу установить apk через adb.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Не могу установить apk через adb.

Сообщение Anonymous »

Ребята!
Я хочу создать простой APK-файл HelloWorld на языке C с использованием raylib.
Структура моего проекта:

Код: Выделить всё

HelloWorld/
├── CMakeLists.txt
├── src/
│   ├── main.c
├── android/
│   └── AndroidManifest.xml
└── build/
src/main.c:

Код: Выделить всё

#include 

int main(void) {
InitWindow(800, 600, "My App");

while (!WindowShouldClose()) {
BeginDrawing();
ClearBackground(RAYWHITE);
DrawText("Hello, World!", 190, 200, 20, LIGHTGRAY);
EndDrawing();
}

CloseWindow();
}
CMakeLists.txt:

Код: Выделить всё

# Minimun version of CMake required to build the project
cmake_minimum_required(VERSION 3.5)

# Define the project name
project(HelloWorld)

# Specify the path of raylib headers
include_directories($ENV{RAYLIB_ANDROID}/include)

# Compile C code into a shared library
add_library(hello_world SHARED src/main.c)

# Import raylib
add_library(raylib STATIC IMPORTED)

# Specify the path of raylib
set_target_properties(raylib PROPERTIES IMPORTED_LOCATION $ENV{RAYLIB_ANDROID}/lib/arm64/libraylib.a)

# Link with necessary libraries
target_link_libraries(hello_world raylib android log EGL GLESv2)
android/AndroidManifest.txt: В сборке/:
Я запускаю:

Код: Выделить всё

cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK_HOME%\build\cmake\android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-35 ..
make
--> libhello_world.so успешно сгенерирован, и я скопировал его в подкаталог lib/arm64-v8a.
Тогда я бегу:

Код: Выделить всё

aapt package -f -m -F HelloWorld-temp.apk -M ../android/AndroidManifest.xml -I %ANDROID_HOME%/platforms/android-35/android.jar

Код: Выделить всё

aapt add HelloWorld-temp.apk lib/arm64-v8a/libhello_world.so
--> apk успешно упакован
Затем я запускаю:

Код: Выделить всё

zipalign -v 4 HelloWorld-temp.apk
HelloWorld.apk
--> apk успешно выровнен
Затем я запускаю:

Код: Выделить всё

apksigner sign --ks my-key.jks --ks-key-alias HelloWorld HelloWorld.apk
--> apk успешно подписывается с помощью моего ранее сгенерированного ключа.
Затем я запускаю (с телефоном, подключенным через USB):

Код: Выделить всё

adb install HelloWorld.apk
Выход:

Код: Выделить всё

Performing Incremental Install
Serving...
All files should be loaded. Notifying the device.
Failure [INSTALL_FAILED_INVALID_APK: Scanning Failed.: Package /data/app/~~KjqkABJbYD3SKFrJm_qwcQ==/com.oussamateyib.helloworld-rmQUIQxHLXKSuzm4eo3fuw==/base.apk code is missing]
--> ???
Есть идеи?
Примечание: мой телефон abi действительно Arm64-v8a.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -using-adb
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»