πώς να συμπεριλάβετε χειροκίνητα το εξωτερικό πακέτο aar χρησιμοποιώντας το νέο gradle android build system
<p>έχω πειραματιστεί με το νέο build σύστημα android και έχω έρθει σε ένα μικρό ζήτημα. έχω συντάξει το δικό μου πακέτο actionbarsherlock, το οποίο έχω ονομάσει 'actionbarsherlock.aar'. αυτό που προσπαθώ να κάνω είναι να χρησιμοποιήσω αυτό το aar για να φτιάξω το τελικό apk μου. αν συμπεριλάβω ολόκληρη τη βιβλιοθήκη actionbarsherlock ως λειτουργική μονάδα βιβλιοθήκης android στο κύριο έργο μου, χρησιμοποιώντας το πρόγραμμα compile (': actionbarsherlock') μπορώ να οικοδομήσω με επιτυχία χωρίς κανένα πρόβλημα.</p><p>αλλά το πρόβλημά μου είναι ότι θέλω να παράσχω αυτή την εξάρτηση ως ένα πακέτο αρχείων man μόνο αν ήμουν jar, τότε δεν μπορώ να καταλάβω πώς να το συμπεριλάβω σωστά στο έργο μου. προσπάθησα να χρησιμοποιήσω τη διαμόρφωση της μεταγλώττισης αλλά αυτό δεν φαίνεται να λειτουργεί. συνεχίζω να μην βρίσκω σύμβολο κατά τη μεταγλώττιση που μου λέει ότι τα classes.jar από το πακέτο aar δεν συμπεριλαμβάνονται στην ταξική πορεία.</p><p>μήπως κάποιος γνωρίζει τη σύνταξη για να συμπεριλάβει χειροκίνητα ένα πακέτο aar ως αρχείο;</p><p>build.gradle</p><pre><code>buildscript { repositories { mavencentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' repositories { mavencentral() } dependencies { compile files('libs/actionbarsherlock.aar') } android { compilesdkversion 15 buildtoolsversion "17.0" } </code></pre><p>edit: έτσι, η απάντηση είναι ότι δεν υποστηρίζεται αυτή τη στιγμή, εδώ είναι το <a href="https://code.google.com/p/android/issues/detail?id=55863">θέμα</a> αν θέλετε να το παρακολουθήσετε.</p><p>edit: επειδή αυτή δεν υποστηρίζεται άμεσα, η καλύτερη εναλλακτική λύση φαίνεται να είναι η προτεινόμενη λύση από το @ranwakshlak</p><p>edit: επίσης απλούστερη χρησιμοποιώντας τη σύνταξη που προτείνεται από το @vipulshah</p>
<p><strong>παρακαλούμε ακολουθήστε τα παρακάτω βήματα για να το λειτουργήσετε (το έχω δοκιμάσει μέχρι το android studio 2.2)</strong></p><p>ας πούμε ότι έχετε κρατήσει aar αρχείο στο φάκελο libs. (υποθέστε ότι το όνομα του αρχείου είναι <code>cards.aar</code>)</p><p>στη συνέχεια, στην εφαρμογή <code>build.gradle</code> καθορίστε το ακόλουθο και κάντε κλικ στο έργο συγχρονισμού με τα αρχεία gradle. ανοίξτε το επίπεδο ανάπτυξης του έργου και προσθέστε το <code>flatdir{dirs 'libs'}</code> όπως παρακάτω</p><pre><code>allprojects { repositories { jcenter() flatdir { dirs 'libs' } } } </code></pre><p>και τώρα ανοίξτε το αρχείο εφαρμογής build.grdle και προσθέστε το αρχείο <code>.aar</code></p><pre><code> dependencies { compile(name:'cards', ext:'aar') } </code></pre><p>αν όλα πάνε καλά θα δείτε ότι η είσοδος της βιβλιοθήκης γίνεται στο build -&gt; exploded-aar</p><p>επίσης, σημειώστε ότι αν εισάγετε ένα αρχείο .aar από άλλο έργο που έχει εξαρτήσεις, θα πρέπει να το συμπεριλάβετε και στο build.gradle.</p>
Κατ 'αρχάς, θα ήθελα να σας προτείνω να ρίξετε μια ματιά στο « [Ταχεία ανάπτυξη με την Python, Django, και το Google App Engine](http://sites.google.com/site/io/rapid-development-with-python-django-and-google-app-engine) »


GVR περιγράφει ένα γενικό / τυπική διάταξη έργο στη σελίδα 10 του [παρουσίαση διαφανειών](http://sites.google.com/site/io/rapid-development-with-python-django-and-google-app-engine/rapid_development_with_django_gae.pdf?attredirects=0) . 


Εδώ θα δημοσιεύσετε μια ελαφρώς τροποποιημένη εκδοχή της διάταξης / τη δομή από αυτή τη σελίδα. Έχω λίγο πολύ ακολουθούν αυτό το μοτίβο τον εαυτό μου. Αναφέρατε επίσης να είχε πρόβλημα με τα πακέτα. Απλά βεβαιωθείτε ότι καθένα από τα επιμέρους φακέλους σας έχει ένα αρχείο \_\_init\_\_.py. Είναι εντάξει, αν αδειάσει της.


στερεότυπο αρχεία



* Αυτά τα ελάχιστα διαφέρουν μεταξύ των έργων
* app.yaml: απευθείας όλα τα μη-στατική αιτήσεων main.py
* main.py: η προετοιμασία του app και να το στείλετε όλες τις αιτήσεις


Έργο lay-out



* στατική / *: στατικά αρχεία? εξυπηρετείται άμεσα από Μηχανή App
* . MyApp / * py: app-ειδικό κωδικό python
	+ views.py, models.py, tests.py, \_\_init\_\_.py, και πολλά άλλα
* . Templates / * html: πρότυπα (. Ή MyApp / templates / * html)


Εδώ είναι μερικά παραδείγματα κώδικα που μπορούν να βοηθήσουν, καθώς:


main.py




```
import wsgiref.handlers

from google.appengine.ext import webapp
from myapp.views import *

application = webapp.WSGIApplication([
  ('/', IndexHandler),
  ('/foo', FooHandler)
], debug=True)

def main():
  wsgiref.handlers.CGIHandler().run(application)

```

MyApp / views.py




```
import os
import datetime
import logging
import time

from google.appengine.api import urlfetch
from google.appengine.ext.webapp import template
from google.appengine.api import users
from google.appengine.ext import webapp
from models import *

class IndexHandler(webapp.RequestHandler):
  def get(self):
    date = "foo"
    # Do some processing        
    template_values = {'data': data }
    path = os.path.join(os.path.dirname(__file__) + '/../templates/', 'main.html')
    self.response.out.write(template.render(path, template_values))

class FooHandler(webapp.RequestHandler):
  def get(self):
    #logging.debug("start of handler")

```

MyApp / models.py




```
from google.appengine.ext import db

class SampleModel(db.Model):

```

Νομίζω ότι αυτή η διάταξη λειτουργεί μεγάλο για τα νέα και σχετικά μικρού και μεσαίου μεγέθους έργα. Για τα μεγάλα έργα θα ήθελα να προτείνω σπάζοντας τις απόψεις και τα μοντέλα για να έχουν τη δική τους υπο-φακέλους με κάτι σαν:


Έργο lay-out



* στατική /: στατικά αρχεία? εξυπηρετείται άμεσα από Μηχανή App
	+ js / *. js
	+ images / * gif |. png | jpg
	+ CSS / *. css
* / MyApp: δομή app
	+ μοντέλα / *. py
	+ θέα / *. py
	+ δοκιμών / *. py
	+ . Templates / * html: πρότυπα Οι κύριες κατευθυντήριες γραμμές είναι παρόμοια με οποιοδήποτε άλλο μεγάλο έργο κώδικα. Οι εφαρμογές θα πρέπει να αντιμετωπίσει ένα ενιαίο, σαφώς καθορισμένες ευθύνες. Το όνομα «αίτηση» είναι ψευδεπίγραφος? Django εφαρμογές θα πρέπει να θεωρηθεί περισσότερο ως επαναχρησιμοποιήσιμα συστατικά τα οποία μπορεί να συνδεθεί μαζί για να δημιουργήσουν μια πραγματική εφαρμογή. Δοκιμές για κάθε εφαρμογή θα πρέπει να περιέχονται μέσα σε αυτό το app. Οι εφαρμογές θα πρέπει να αποσυνδεθεί από την άλλη όσο το δυνατόν περισσότερο, αλλά σαφώς θα υπάρχουν εξαρτήσεις, οπότε ο στόχος πρέπει να είναι να κρατήσει το γράφημα εξάρτησης τόσο απλό και λογικό όσο το δυνατόν.


Προτιμώ να κρατήσει όλα τα πρότυπα για ένα έργο σε ένα ενιαίο κατάλογο προτύπων έργων σε όλη την, με ένα υποκατάλογο για κάθε εφαρμογή (χρησιμοποιώντας ένα υποκατάλογο πρότυπο για κάθε εφαρμογή είναι μια πολύ ισχυρή σύμβαση στο Django, καθώς αποφεύγει τις συγκρούσεις όνομα του προτύπου μεταξύ των εφαρμογών) . Ο λόγος για ένα ενιαίο κατάλογο προτύπων έργων σε ολόκληρη είναι ότι τα πρότυπα, τα δέντρα πρότυπο κληρονομιά, και τα ονόματα μπλοκ μπορεί να είναι αρκετά συγκεκριμένο έργο, γι 'αυτό είναι δύσκολο να παρέχουν «default» πρότυπα app που μπορούν να συνδεθούν σε οποιοδήποτε έργο. Έχουν γίνει κάποιες προσπάθειες να εγκατασταθούν σε τυποποιημένες συμβάσεις ονομασίας για τα πρότυπα σε όλη την τοποθεσία βάσης και των τμημάτων για τα καθορίζουν, αλλά δεν έχω δει ένα πρότυπο βγει ακόμα (ο τρόπος που κάνουμε τα πράγματα πάνω σε [Pinax](http://pinaxproject.com) είναι ίσως το πιο κοντινό έχουμε σε ένα πρότυπο).


Re «εξωτερίκευση string», αν εννοείτε i18n και l10n, Django έχει ισχυρή υποστήριξη για το ότι και τα τυποποιημένα μέρη όπου βάζει τα αρχεία .po - ελέγξτε τα [έγγραφα](http://docs.djangoproject.com/en/dev/topics/i18n/#topics-i18n) . κατέβασε το πακέτο perl-cddb με την εντολή :

git clone https://aur.archlinux.org/perl-cddb.gitμπες μέσα στον φάκελο που δημιουργήθηκε και άνοιξε το αρχείο pkgbuild με έναν texteditor της επιλογής σου.

στη συνέχεια κάνε comment την γραμμή :

make test

να γίνει δηλαδή έτσι :

#make test

σώσε και τ… τελικά το έφτιαξα σβήνοντας οτιδήποτε στο σύστημα έχει σχέση με flatpak και επανεγκατάσταση. πιο συγκεκριμένα 
sudo find ~/ -name "flatpak" | xargs rm -r
sudo find / -name "flatpak" | xargs rm -r
sudo apt install flatpak

ολίγον τι επικίνδυνο αλλά δούλεψε. Κάθε συγκροτήματα που αναμένεται να είναι στην GAC θα πρέπει να παραμείνουν στο GAC. Αυτό περιλαμβάνει System.Web.dll ή οποιοδήποτε άλλο dll 3rd party που θα αναπτυχθεί στο Συμβούλιο Γενικών Υποθέσεων της παραγωγής. Αυτό σημαίνει ότι μια νέα προγραμματιστής θα πρέπει να εγκαταστήσετε αυτές τις συνελεύσεις.


Όλα τα άλλα συγκροτήματα 3ο μέρος θα πρέπει να είναι αναφορές μέσα από μια σχετική διαδρομή. τυπικό μου δομή είναι:



```
-Project
--Project.sln
--References
StructureMap.dll
NUnit.dll
System.Web.Mvc.dll
--Project.Web
Project.Web.Proj
Project.Web.Proj files
--Project
Project.Proj
Project.Proj files

```

Project.Web και Έργων αναφορά των συγκροτημάτων στη ρίζα / Αναφορές φάκελο σχετικά. Αυτά τα .dlls ελέγχονται σε ανατροπή.


Εκτός από αυτό, * / bin * / bin / * obj θα πρέπει να είναι σε παγκόσμια πορεία αγνοούν σας.


Με αυτή τη ρύθμιση, όλες οι αναφορές σε συγκροτήματα είτε μέσα από το GAC (έτσι πρέπει να λειτουργεί σε όλους τους υπολογιστές), ή σε σχέση με το έργο εντός λύση σας. [Εδώ είναι μια άλλη λύση](http://code.google.com/p/vs-android/) , που ενσωματώνει πλήρως το NDK μέσα στο Visual Studio. Δεν makefiles. Συμπεριφέρεται σαν μια σωστή έργο Win32: θα πρέπει να κατεβάσεις το αρχείο ως έχει, αλλά για ποιο λόγο να κάνεις build; νεότερες οδηγίες στα ελληνικά υπάρχουν εδώ

[εικόνα]

[scrcpy: έλεγχος του android μέσω του υπολογιστή](https://cerebrux.net/2020/08/13/scrcpy-android-ipologistis/)

σήμερα θα δούμε πως μπορούμε να πλοηγηθούμε στο android κινητό με το ποντίκι μας μέσω του scrcpy. το scrcpy μπ… ευχαριστώ για τις απαντήσεις και τις προτάσεις.

επειδή δε μπόρεσα να στήσω το windowappmenu όπως ήθελα, συνέχισα να παιδεύομαι με το default application panel και τελικά κατάφερα να το φτιάξω.

ήταν απλό τελικά…

αφού πατήσεις δεξί κλικ στο desktop και κάνεις “add panel > application menu bar”, το … Μην αμελήσετε το «σύντροφο» εργαλείο της γραμμής εντολών. Μπορείτε να το χρησιμοποιήσετε για την έξοδο του σωλήνα σε TextMate, οπότε αν μπορείτε να κάνετε τα εξής ...



```
diff file1.py file2.py | mate

```

... αυτό δεν θα είναι μόνο ανοικτή σε TextMate, αλλά είναι αρκετά έξυπνος για να ξέρει ότι ψάχνετε σε μια διαφορά και τονίζουν τις γραμμές στην οθόνη.


ενσωμάτωση SVN TextMate είναι μεγάλη? φαίνεται επίσης να έχουν δέσμες για κάποια άλλα συστήματα ελέγχου εκδόσεων, καθώς και.


Προσθέστε GetBundle να περιηγηθείτε στο αποθετήριο πακέτο. Βρήκα το πακέτο jQuery μέσα από αυτό και είναι πολύ βολικό.


Όπως άλλοι έχουν αναφερθεί, το τροχαίο το δικό σας πακέτο για συχνά χρησιμοποιούμενες αποσπάσματα είναι πολύ χρήσιμη. Αν έχετε κάποια αποσπάσματα που είναι ειδικά για ένα έργο ή πλαίσιο, ίσως να θέλετε να πρόθεμα όλα αυτά με μια κοινή επιστολή για να κρατήσει το χώρο ονομάτων τακτοποιημένο. καλημέρα

και ως δια μαγείας το (ralink technology, corp. rt2870/rt3070 wireless adapter) δούλεψε

ο λόγος: τελευταίο update, για το arch, του wpa\_supplicant στην έκδοση local/wpa\_supplicant 2:2.9-4

ευχαριστω για το χρόνο και τη βοήθειά σας