This library provides an easy way to display a change log in your app. Without take care to VersionCode is necessary when you auto generate the VersionCode
- Create the master change log in
res/xml/changelog_master.xml
. Formatted like this:
<?xml version="1.0" encoding="utf-8"?>
<changelog>
<release version="1.1" versioncode="11" >
<change>Totally new and shiny version</change>
</release>
<release version="1.0" versioncode="10" >
<change>Fixed: A bug fix</change>
<change>Some other changes I can't quite remember</change>
</release>
<release version="0.1" versioncode="1">
<change>First release</change>
</release>
</changelog>
- Create translations of this
changelog_master.xml
file in files namedchangelog.xml
under language-specific versions ofres/xml/
, e.g.res/xml-de/changelog.xml
.
To generate a git changelog, grouped by tag you can run
./generateTagGroupedGitlog.sh > sample/src/main/res/raw/gitlog.json
This will show it similar to the XML
- Display the change log dialog by putting the following code in your activity's
onCreate()
method:
ChangeLog changelog = new ChangeLog(this);
if (changelog.isFirstRun()) {
changelog.getLogDialog().show();
}
The easiest way to add ckChangeLog to your project is via Gradle. Just add the following lines to your build.gradle
:
dependencies {
implementation 'com.github.AppDevNext:ChangeLog:$latestVersion'
}
To tell Gradle where to find the library, make sure build.gradle
also contains this:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
In order to change the labels of the dialog add the following items to your strings.xml
:
<string name="changelog_full_title">Change Log</string>
<string name="changelog_title">What\'s New</string>
<string name="changelog_ok_button">OK</string>
<string name="changelog_show_full">More…</string>
Copyright (C) 2012-2023 AppDevNext and contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.