Проект библиотеки Android в виде jar-файла для распространения, например, Google Analytics

я виделэтот вопрос, и есть еще некоторые сомнения относительно создания файла JAR, который я могу распространять и может быть использован в любых приложениях для Android.

Что мое требование

As I said, I want to build and distribute a closed source library. I don't want the source code to be visible. In that library I don't want to use any assets, layouts, resources etc. But I want to use some android specific codes, like getting android device id.

Самый популярный ответ в вышеупомянутом связанном вопросе SO говоритcreate a regular java project and import android.jar in it. Я пытался сделать это, но я не знаю, как добавить android.jar в любой проект Java. Я хотел бы получить некоторые разъяснения по этому вопросу.

Кроме того, я хотел бы знать, есть ли какие-либо другие методы, использующие сам Android SDK (без использования проекта Java), создать файл JAR с закрытым исходным кодом библиотеки.

Я думаю, что я хочу, возможно, так какGoogle Analytics для Android-приложений кажется, сделал это. Я уверен, что в файле .jar, который они распространяют, они используют специфичные для Android коды, поскольку у них, похоже, нет другого способа получить информацию об устройстве для отображения в средстве просмотра аналитики.

EDIT : CAN SOMEONE CLARIFY THIS??

Я думаю, что добился определенного прогресса. Это то, что я сделал

Created a regular android project (not library project, the "is Library" checkmark is unchecked)

In the project I have coded out my logic. It uses some android specific classes like SharedPreference, UUID, PackageManager. But nothing related with assets, layouts also no class extending Activity. Just a java class extending java.lang.object

Exported the project using Project->rightclick->export->Java->JAR file. In the next screen I unchecked the checkbox near AndroidManifest.xml. Set a destination directory to export and clicked next thrice with keeping the default settings. Then I clicked Finish, and got a lovely libMyLibraryName.jar at my desktop.

Затем я создал еще один проект Android, добавил этоlibMyLibraryName.jar в новый проект, используяproject->rightclick->properties->java build path -> libraries->add external jar.

И я попытался использовать свой класс в библиотеке, в моем новом проекте

MyLibraryClass objClass = new MyLibraryClass(this);

И мне удалось скомпилировать и запустить успешно. Я даже отправил библиотеку одному из моих коллег, который смог использовать библиотеку на своем компьютере (просто убедившись, что проект библиотеки в моем рабочем пространстве не повлияет на проект, использующий ее).

Теперь у меня есть 2 вопроса.

1) My first question is , what they meant by the term "true library" in the below given documentation ? Это любой не Android-проект Java, который можно экспортировать в файл JAR?

However, a library project differs from an standard Android application project in that you cannot compile it directly to its own .apk and run it on an Android device. Similarly, you cannot export the library project to a self-contained JAR file, as you would do for a true library. Instead, you must compile the library indirectly, by referencing the library in the dependent application and building that application.

Ну, эта часть взята издокументация под заголовком «Библиотечные проекты».

2) My second question is, anything wrong with the way I have created the JAR file? Любые возможные подводные камни, которые могут укусить меня позже? Я хотел бы убедиться, что я не делаю что-то ужасно неправильное, прежде чем использовать это в своих важных проектах.

Я мог бы добавить, что я не пробовал метод создания проекта JAVA и импортаandroid.jar, Я готов попробовать это, если то, что я сделал в настоящее время, неверно.

Ответы на вопрос(1)

Ваш ответ на вопрос