Intanto con New -> New Module ho modificato setting.gradle in questo modo:
include ':app', ':mylibrary-release'e ho visto apparire il modulo mylibrary-release nella directory principale del mio progetto.
Quindi con New -> Import module, importo il modulo mylibrary che ora mi appare anch'esso nella directory.
Quindi devo risistemare il build.gradle di app aggiungendo l'ultima riga:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile project(":mylibrary")
}
Ora faccio la verifica: in questa libreria c'è una classe chiamata semplicemente Classe. Vedo se viene riconosciuta.Ma prima devo sincronizzare Gradle!
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Classe classe=new Classe(); classe.setNumero(123); System.out.println(classe.getNumero()); } }Non ho ottenuto messaggi di errore. Ciò significa che la classe è stata riconosciuta.
Ora eseguo:
04-06 21:19:37.172 11679-11679/? I/System.out: 123Perfetto!
Ora sarà più difficile togliere questa libreria, perché non so se ricordo bene la procedura...
Sono andato su File -> Project Structure e, andando su app, ho eliminato mylibrary.
Come risultato, build.gradle di app si è modificato con la sparizione della riga che avevo aggiunto a dependencies:
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:24.2.1' testCompile 'junit:junit:4.12' }Persiste nel setting.gradle questo:
include ':app', ':mylibrary-release', ':mylibrary'Nel riquadro a sinistra permangono sia mylibrary sia mylibrary-release.
Torno su Project Structure ed elimino a sinistra sia library sia library-release...
Permangono nel riquadro a sinistra i due moduli, mentre setting.gradle si è modificato così:
include ':app'Proviamo se il progetto "vuoto" gira normalmente...
Sembra di sì. Sia pure ancora in modo parzialmente empirico, sono riuscito ad eliminare la libreria aggiunta.