Как создать R.java с поддержкой библиотеки из CLI / Makefile - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь собрать Makefile для моего маленького android-проекта. Я знаю, что это не самый лучший или самый простой способ сделать что-то, но это весело, и я узнаю, как все это работает.

Я смотрел на другие примеры, но не могу найти объяснение того, как обращаться с библиотеками поддержки,Я застрял при попытке создать файл R.java с помощью aapt.

Я скопировал содержимое из android-sdk/extras/android/m2repository/com/android/support/ в libs/support, а $(PLATFORM) содержит android-sdk/platforms/android-28/android.jar Любая помощь, чтобы решить это многооценил.

generate_r_file_with_support: 
        aapt p --auto-add-overlay -m \
              -J bin/generated \
              -M $(PROJECT_BUILD_PATH)/AndroidManifest.xml \
              -I $(PLATFORM) \
              -S libs/support

 Error:
  /opt/android-sdk/build-tools/28.0.3/aapt p --auto-add-overlay -m \
         -J bin/generated \
         -M /home/jvb/Projects/RockPlayer_/app/src/main/AndroidManifest.xml \  
         -I /opt/android-sdk/platforms/android-28/android.jar \
         -S libs/support
invalid resource directory name: libs/support exifinterface
invalid resource directory name: libs/support palette-v7
invalid resource directory name: libs/support support-annotations
... ... ...

Я также пробовал aapt2:

compile_resources:
     $(AAPT2) compile $(RESOURCES) -o compiled_resources

generate_R_link_into_temp_APK:
    $(AAPT2) link --proto-format -o temporary.apk \
           -I $(PLATFORM) \
           --manifest $(PROJECT_BUILD_PATH)/AndroidManifest.xml \
           -R compiled_resources/*.flat \
           --auto-add-overlay --java gen


Error:

 /opt/android-sdk/build-tools/28.0.3/aapt2 compile res/*/** -o compiled_resources
 /opt/android-sdk/build-tools/28.0.3/aapt2 link --proto-format -o temporary.apk \
         -I /opt/android-sdk/platforms/android-28/android.jar \
         --manifest ~/Projects/MyApp/app/src/main/AndroidManifest.xml \
         -R compiled_resources/*.flat \
         --auto-add-overlay --java gen
   error: resource style/Theme.AppCompat.Light.DarkActionBar (aka mypackage.myapp:style/Them    e.AppCompat.Light.DarkActionBar) not found.
   error: resource style/Theme.AppCompat.Light.NoActionBar (aka mypackage.myapp:style/Theme.    AppCompat.Light.NoActionBar) not found.
   error: failed linking references.
   Makefile:51: recipe for target 'generate_R_link_into_temp_APK' failed
   make: *** [generate_R_link_into_temp_APK] Error 1
...